Threaded::wait

Synchronization

Description

public bool Threaded::wait(int $timeout = ?)

Will cause the calling context to wait for notification from the referenced object

Parameters

timeout

An optional timeout in microseconds

Return Values

Returns true on success or false on failure.

Examples

Example #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

The above example will output:

bool(true)