GoLang Threaded::wait

request it (345)
GoLang replacement for PHP's Threaded::wait [edit | history]



Do you know a GoLang replacement for PHP's Threaded::wait? Write it!

PHP Threaded::wait

PHP original manual for Threaded::wait [ show | php.net ]

Threaded::wait

(PECL pthreads >= 2.0.0)

Threaded::waitSynchronization

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

A boolean indication of success

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)