Php/docs/threaded.synchronized

提供:Dev Guides
< Php
移動先:案内検索

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronizedSynchronization


説明

public Threaded::synchronized ( Closure $block , mixed ...$args ) : mixed

Executes the block while retaining the referenced objects synchronization lock for the calling context


パラメータ

block
The block of code to execute
args
Variable length list of arguments to use as function arguments to the block


返り値

The return value from the block


例1 Synchronizing

<?phpclass My extends Thread {    public function run() {        $this->synchronized(function($thread){            if (!$thread->done)                $thread->wait();        }, $this);    }}$my = new My();$my->start();$my->synchronized(function($thread){    $thread->done = true;    $thread->notify();}, $my);var_dump($my->join());?>

上の例の出力は以下となります。


bool(true)