牛牛在线工具

Threaded::notify()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Threaded::notify()

通知一个正在等待此对象上的线程

函数名称:Threaded::notify() 适用版本:PHP 5 >= 5.3.0, PHP 7 函数描述:Threaded::notify()方法用于通知一个正在等待此对象上的线程。如果没有线程正在等待,则此方法不会产生任何效果。 用法: public function Threaded::notify ( void ) : bool 参数说明:此函数没有参数。 返回值:如果成功通知了一个线程,则返回true,否则返回false。 示例: <?php class MyThread extends Thread { public function run() { echo "线程开始\n"; $this->synchronized(function($thread){ echo "线程等待\n"; $thread->wait(); echo "线程恢复\n"; }, $this); echo "线程结束\n"; } } $thread = new MyThread(); $thread->start(); usleep(100000); // 等待100毫秒,确保线程已经开始执行 $thread->synchronized(function($thread){ echo "主线程通知\n"; $thread->notify(); }, $thread); $thread->join(); ?> 输出: 线程开始 线程等待 主线程通知 线程恢复 线程结束 注意事项: Threaded::notify()方法只能在使用synchronized()方法锁定的代码块中调用。 必须在等待线程的synchronized()代码块中调用Threaded::wait()方法来等待通知。 线程必须在等待通知之前开始执行,否则通知将无效。 线程通知的顺序无法保证,因此不应该依赖于特定的通知顺序。 如果有多个线程在等待通知,只有一个线程会被通知到,其它线程会继续等待。