首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization

Description

代码语言:javascript
复制
public mixed Threaded::synchronized ( Closure $block [, mixed $... ] )

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

Parameters

block

The block of code to execute

...

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

Return Values

The return value from the block

Examples

Example #1 Synchronizing

代码语言:javascript
复制
<?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());
?>

The above example will output:

代码语言:javascript
复制
bool(true)

← Threaded::shift

Threaded::unlock →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com