Stackable::wait

Synchronization

Description

final public boolean Stackable::wait ([ string $timeout ] )

Waits for notification from the Stackable

Parameters

timeout

An optional timeout in millionths of a second.

Return Values

A boolean indication of success

Examples

Example #1 Notifications and Waiting

<?php
class Work extends Stackable {
    public function 
run() {
        
$this->synchronized(function($object){
        
printf("%s Synchronized\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]);
/** send notification to the waiting thread **/
$work[0]->synchronized(function($object){
    
printf("Process Synchronized\n");
    
$object->wait();
}, 
$work[0]);
?>

The above example will output:

Process Synchronized
Work Synchronized