<?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)
Quando o método start de um Thread é invocado, o código do método run será executado em Thread separado, em paralelo.
Após a execução do método run, o Thread será encerrado imediatamente e será unido ao Thread de criação no momento apropriado.
Depender do mecanismo para determinar quando um Thread deve ingressar pode causar um comportamento indesejável; o programador deve ser explícito, sempre que possível.
<?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();
?>