alexmontoanelli

a place to have some fun..

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 | No Comments »