|
|
|
|
|
|
|||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Gast
Beiträge: n/a
|
Moin,
ich frag einfach mal obwohl ich denke das es da nichts geben wird. Giebt es irrgend eine möglichkeit threads in PHP zu benutzen? Evl ne 3rd party extension? (kann auch als unstable eingestuft sein) MfG Sirius |
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 15.08.2004
Beiträge: 2.473
![]() |
Das einzige, was ich kenne, aber nie ausprobiert habe, ist das hier: http://cvs.php.net/pecl/threads/
Warum das Projekt im Sande verlaufen ist, weiss ich nicht wirklich, hab mich nie näher damit beschäftigt. Aber es tut wohl was...
__________________
mod = master of disaster |
|
|
|
|
|
#4 (permalink) |
|
Erfahrener Benutzer
|
Die Frage ist, was du willst. Sofern sich die Threads auch untereinander unterhalten sollen, sprich auf gleiche Variablen zugreifen sollen usw., wirst du Probleme haben. Das kann PHP einfach nicht, weil intern keine Synchronisierung eingebunden ist.
Das heisst vereinfacht: Wenn du zwei Threads hast, die auf gleiche Ressourcen zugreifen, schreiben die sich gegenseitig alles kaputt und stolpern dabei über die Brocken, die sie sich gegenseitig in den Weg schmeissen. Ohne neues PHP-Release wird da nichts gehen. Ansonsten gibt es nur den Ausweg, voneinander unabhängige Prozesse parallel laufen zu lassen und sich beispielsweise per Datenbank, Sockets oder was weiss ich auszutauschen. |
|
|
|
|
|
#6 (permalink) |
|
Erfahrener Benutzer
|
Klar, dass sowas auch per Speicher geht, aber eben nur über extra Funktionen. Aber das sind immer zwei vollkommen unabhängige Prozesse, die nie den gleichen Code-Raum benutzen oder den gleichen Adressraum. Sie tauschen sich nur über zusätzliche Schnittstellen aus. Ob das dann per Handle auf ein Speichersegment hinausläuft oder auf Socket- Kommunikation oder Datenbank ist prinzipiell zweitrangig.
So echtes Multi-Threading mit nur einem Code- Bereich, einem Adressbereich und direktem Zugriff auf alle gleichen Variablen, wie es auch Java anbietet, gibt es nicht in PHP und wird es auch ohne weiteres nicht geben können. Deswegen auch mein erster Satz: Die Frage ist, was Sirius will. |
|
|
|
|
|
#8 (permalink) |
|
Gast
Beiträge: n/a
|
Naja Threads in PHP ..
Mit mehreren PHP Prozessen ( also main prozesse KEINE threads ). Du könntest das erste aufgerufene Script forken, dann bauste ne methode ein den ersten Prozess ( also das erst aufgerufene Script ) zu nem COntroller macht, also die anderen Forks steuert. Jetzt brauchste noch ne Möglichkeit für IPC ( Inter Process Communication ). Das geht ganz einfach in dem du dir ne Pipe erstellst *brauch man aber Access auf die shell funktion(en)*PS: Wenn es auf einem windows system läuft kannste mal probieren das über en FileMapping hinzubekommen. Die Informationen dazu findeste im MSDN. EDIT by Quadaptor: Habe mal dein Doppeleintrag gelöscht. Vermutlich zwei Mal auf "Absenden" geklickt. |
|
|
|
#9 (permalink) |
|
Gast
Beiträge: n/a
|
das problem is definitiev, das wenn du SHM used wie schon gesagt die daten ueberschrieben werden könnten.
Das PECL modul ist ziehmlich unstable XD bei 10 starts hassu ~4-6 segfaults das problem liegt denk ich an der speicher addressierung die php macht, Ich finds eigentlich schade das man keine gescheite moeglichkeit hat die auch schnell (relativ zu php XD) funktioniert und die auch die möglichkeit bietet sachen zu locken (mutexen .. ). Wenn wer irrgendeine moeglichkeit gefunden hat soll er sich bitte melden ^^ MfG FLorian |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| asynchrone kommunikation Threads | vegeta | PHP Tipps 2006 | 9 | 07.11.2008 10:43 |
| PHP Threads oder ähnliches | Hu5eL | PHP-Fortgeschrittene | 4 | 07.04.2008 13:34 |
| Threads schliessen? | Montellese | Board-Support | 6 | 12.03.2008 15:41 |
| PHP, Socket und Threads | Manuchau | PHP-Fortgeschrittene | 1 | 25.08.2006 10:38 |
| Forum besuchte Threads merken | lichtscheu | PHP Tipps 2006 | 5 | 03.03.2006 14:28 |
| Email Threads | dh1sbg | PHP-Fortgeschrittene | 2 | 14.12.2005 13:12 |
| Array[1] == TRUE && Array[alleanderen]== FALSE | TheIfrit | PHP Tipps 2005-2 | 3 | 25.09.2005 14:08 |
| if ($width && ($width_orig < $height_orig)) | PHP Tipps 2005-2 | 7 | 11.08.2005 09:41 | |
| Dropdown && Checkbox wert speichern? | PHP Tipps 2005 | 2 | 27.02.2005 21:42 | |
| is_dir() &amp;&amp; is_file() funktionieren nicht ? | PHP Tipps 2004 | 5 | 23.07.2004 18:09 | |
| MySQL Sortierung für Threads | Datenbanken | 4 | 12.07.2004 08:38 | |
| THREADS in php | PHP-Fortgeschrittene | 7 | 16.06.2004 22:12 | |
| Irgendwie fehlen Threads :( | Off-Topic Diskussionen | 4 | 10.06.2004 09:35 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.