update : 2015.11.03
php.shukuma.com

검색:
 
 
Synchronization

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronizedSynchronization

설명

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

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

인수

block

The block of code to execute

...

Variable length list of arguments to use as function arguments to the block

반환값

The return value from the block

예제

Example #1 Synchronizing

<?php
class 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)