Threads no PHP
Exemplo básico de utilização de threads no PHP
$pid = pcntl_fork();
if ($pid == -1) {
die('Erro ao lançar thread');
} else if ($pid) {
// thread principal
//aguardamos a thread child terminar
pcntl_wait($status);
echo "Processo child terminado\n";
exit(0);
} else {
//thread secundario
//mudamos para um usuário não privilegiado
posix_setuid(1000);
posix_setgid(1000);
//colocamos a thread para fazer algo,
//ate que uma condição seja satisfeita e ela termine
$i=0;
while(true){
if (file_exists('/tmp/stop')){
echo "Terminado thread";
exit(0);
}
echo "Iteração : ". ++$i . "\n";
sleep(2);
}
}
Mais informações aqui.
Abraços e até.
August 29th, 2009 by alexm
Posted in php