Hallo,
mein Script soll während der kompletten Ausführungsdauer Daten von einem Netzwerksocket unter Linux lesen und diese in einem Array speichern. Gleichzeitig soll das Script weitere Dinge machen, wie zum Beispiel auf die eingegangenen "Events" reagieren und Daten über das Socket verschicken.
Ich hätte es schön gefunden, wenn ich direkt beim Starten von dem Script einen Thread starten könnte, der nichts anderes macht, als die Daten vom Socket zu lesen und im Array zu speichern. Die Hauptroutine (Mainthread, Hauptrogramm oder wie auch immer man das nennt) könnte dann regelmäßig das Array nach interessanten Daten durchsuchen und die anderen Managementaufgaben erledigen.
Frage 1: Bin ich richtig informiert, dass PHP Threads in dieser Form nicht unterstützt? (In diesem Zusammenhang wird manchmal auf die PCNTL Extension verwiesen, aber die hat ja nur mit Prozessen und nichts mit Threads zu tun.)
Frage 2: Kann man das Beschriebene auch ohne Threads erreichen oder handelt es sich hier tatsächlich um einen klassischen Verwendungsfall von Threads?
Frage 3: Gehe ich richtig in der Annahme, dass man diese Aufgabe vielleicht besser mit Perl lösen könnte, weil Perl Threads unterstützt?
Vielen Dank im Voraus für mögliche Antworten, Manuchau
mein Script soll während der kompletten Ausführungsdauer Daten von einem Netzwerksocket unter Linux lesen und diese in einem Array speichern. Gleichzeitig soll das Script weitere Dinge machen, wie zum Beispiel auf die eingegangenen "Events" reagieren und Daten über das Socket verschicken.
Ich hätte es schön gefunden, wenn ich direkt beim Starten von dem Script einen Thread starten könnte, der nichts anderes macht, als die Daten vom Socket zu lesen und im Array zu speichern. Die Hauptroutine (Mainthread, Hauptrogramm oder wie auch immer man das nennt) könnte dann regelmäßig das Array nach interessanten Daten durchsuchen und die anderen Managementaufgaben erledigen.
Frage 1: Bin ich richtig informiert, dass PHP Threads in dieser Form nicht unterstützt? (In diesem Zusammenhang wird manchmal auf die PCNTL Extension verwiesen, aber die hat ja nur mit Prozessen und nichts mit Threads zu tun.)
Frage 2: Kann man das Beschriebene auch ohne Threads erreichen oder handelt es sich hier tatsächlich um einen klassischen Verwendungsfall von Threads?
Frage 3: Gehe ich richtig in der Annahme, dass man diese Aufgabe vielleicht besser mit Perl lösen könnte, weil Perl Threads unterstützt?
Vielen Dank im Voraus für mögliche Antworten, Manuchau
Kommentar