(PECL pthreads >= 0.36)
Stackable::wait — Synchronisation
$timeout
] )Attend une notification depuis le Stackable.
timeout
Un délai d'attente maximal, optionnel, en millisecondes.
Un booléen indiquant le succès de l'opération.
Exemple #1 Notifications et Attente
<?php
class Work extends Stackable {
public function run() {
$this->synchronized(function($object){
printf("%s synchronisé\n", __CLASS__);
$object->notify();
}, $this);
}
}
class My extends Worker {
public function run() {
/** ... **/
}
}
$my = new My();
$my->start();
$work = array(new Work());
$my->stack($work[0]);
/** Envoi une notification au thread en attente **/
$work[0]->synchronized(function($object){
printf("Process synchronisé\n");
$object->wait();
}, $work[0]);
?>
L'exemple ci-dessus va afficher :
Process synchronisé Work synchronisé