Dicha clase utiliza la función pcntl_fork para ejecutar la acción en un nuevo proceso.
Esta función es parte de una extensión para php creada para realizar control de procesos ya que esto no es nativo del lenguaje, dicha extensión solo funciona en entornos Unix, así que lo sentimos por los windowseros pero no podrán realizar este ejemplo:
Ponemos el código en un archivo al mismo nivel que el archivo Fork.php y lo ejecutamos.
include ( './Fork.php' );
class executeThread extends PHP_Fork {
var $counter;
function executeThread($name)
{
$this->PHP_Fork($name);
$this->counter = 0;
}
function run()
{
$i = 0;
while ($i < 5) {
print time() . "-(" . $this->getName() . ")-" . $this->counter++ . "\n";
sleep(1);
$i++;
}
}
}
for ($index = 1; $index < 5; $index++) {
$thread = new executeThread("hilo numero -> ".$index);
$thread->start();
}
?>
Gracias por el Post, conciso y practico :-)
ReplyDeleteHola Joan Navarrete he leido tu post y está excelente, pero no puedo bajar el paquete de clases PHP_FORK, por favor si pudieras indicarme te agradecería eternamente, mi e-mail es alfre1684@gmail.com
ReplyDeleteoye una pregunta fuera del tema
ReplyDeletecomo se hace para q te salga ese layout en lso codigos???
No comprendo mucho, se de threads en java pues en el Desktop si quiero recibir consultas y enviar informacion para clientes a la vez pero en php tengo entendido que crea una nueva instancia cada vez que alguien entra a la web automaticamente, no requiere crear hilos. Me podrian explicar cual seria la importancia de los threads en php ?
ReplyDelete