<?phpclass workerThread extends Thread { public function __construct($i){ $this->i=$i; } public function run(){ while(true){ echo $this->i; sleep(1); } }}for($i=0;$i<50;$i++){ $workers[$i]=new workerThread($i); $workers[$i]->start();}?>
(PECL pthreads >= 2.0.0)
Cuando el método start de un Thread es llamado, el código del método run será ejecutado de forma paralela en un Thread separado.
Después de la ejecución del método run, el Thread se terminará inmediatamente, será vinculado al Thread original posteriormente.
Basarse en el motor para determinar cuándo un Thread será vinculado puede provocar un comportamiento no deseado. El desarrollador debe ser explícito en la medida de lo posible.
<?phpclass workerThread extends Thread { public function __construct($i){ $this->i=$i; } public function run(){ while(true){ echo $this->i; sleep(1); } }}for($i=0;$i<50;$i++){ $workers[$i]=new workerThread($i); $workers[$i]->start();}?>
<?php
# ERROR GLOBAL VARIABLES IMPORT
$tester=true;
function tester(){
global $tester;
var_dump($tester);
}
tester(); // PRINT -> bool(true)
class test extends Thread{
public function run(){
global $tester;
tester(); // PRINT -> NULL
}
}
$workers=new test();
$workers->start();
?>