pthreads Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization


설명

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

호출 컨텍스트에 대해 참조된 개체 동기화 잠금을 유지하면서 블록을 실행합니다.


매개변수

block
실행할 코드 블록
args
블록에 대한 함수 인수로 사용할 가변 길이 인수 목록

반환 값

블록의 반환 값


Examples

예제 #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)