L'appel d'une fonction dans un thread d'arrière-plan / processus (fork)

J'ai un code qui est un peu comme ceci:

($i=0; $i < 100; $i++)
{
   do ($foo[$i]);
}

Ci-dessus est une période intensive de la tâche, et j'espérais être en mesure de créer une fonction, et de l'appeler deux fois, comme ci-dessous

function wrapper($start;$end)
{
    ($i=$start; $i < $end; $i++)
    {
       do ($foo[$i]);
    }
}
//have both of these run in parallel
wrapper(0,50);
wrapper(51,100);

J'ai regardé Gearman, mais je ne peux pas l'utiliser comme je ne peux pas installer le gearman serveur (depuis que je suis sur un serveur partagé). Il semble que la façon d'y parvenir serait par bifurquer. J'ai essayé de lire beaucoup sur le sujet, mais de documentation et de soutien sont peu nombreuses. Toute aide /filaire code serait appréciée.

Pour définir ma question, comment pourrais-je appeler wrapper() en passant des arguments tels qu'il s'exécute dans un processus enfant. Aussi, il est important que je sois en mesure d'enregistrer une fonction de rappel.

Détails supplémentaires: PHP 5.3, en cours d'exécution sur un serveur Linux. Script est exécuté par le cgi-fcgi.

Je pense que c'est comment je suis censé lancer un processus enfant, mais comment puis-je l'utiliser pour frayer les multiples processus enfants? Et comment puis-je enregistrer une fonction de rappel?

$pid = pcntl_fork(); 

if ( $pid == -1 ) {        
    //Fork failed            
    exit(1); 
} else if ( $pid ) { 
    //The parent process
    //should I repeat this same code here to spawn another child process?

} else { 
    //the child process 
    //can I call wrapper from here and will it run in this child process?
InformationsquelleAutor xbonez | 2012-01-26