ich habe ein paar sehr zeitintensive funktionen, die in einem skript aufgerufen sich nur nacheinander ausführen lassen und damit entpsrechend zeit brauchen.
[..]
das hauptsächlich zeitintensive daran das einlesen der anderen seiten von anderen servern ist. wenn man nun 5 oder 6 seiten auf einmal paralell einlesen könnte wäre das schonmal ein enormer zeitgewinn...kann jemand helfen ?
Mit socket_set_blocking() kannst Du die Sockets in den nicht-blockierenden Modus versetzen, d.h. falls noch nichts zum lesen da ist, kehren Funktionen wie fgets() sofort mit einem leeren Ergebnis zurück anstatt auf Daten zu warten und damit das Skript zu blockieren.
Eine Busy-Read-Schleife à la
while (noch_ein_socket_offen())
{
if (socket_noch_offen($socket1)) $daten1.=fgets($socket1);
if (socket_noch_offen($socket2)) $daten2.=fgets($socket2);
if (socket_noch_offen($socket3)) $daten3.=fgets($socket3);
..
};
gehört zwar eigentlich in die Computersteinzeit von C64, MS-DOS und Co., aber anders geht's nicht. Weder Signale noch Threads werden von PHP unterstützt.
Gruß,
soenk.e