函数名:Threaded::wait()
适用版本:PHP 5 >= 5.3.0, PHP 7
函数说明:Threaded::wait() 方法用于等待一个线程的执行完成。
语法:public bool Threaded::wait ( void )
参数说明:无参数。
返回值:如果线程成功执行并完成,则返回 true。如果线程未能成功执行或者未能完成,则返回 false。
示例代码:
<?php
class MyThread extends Thread {
public function run() {
// 模拟耗时操作
sleep(3);
echo "线程执行完成\n";
}
}
$thread = new MyThread();
$thread->start();
echo "等待线程执行...\n";
$thread->wait();
echo "线程执行完毕\n";
?>
在上面的示例中,我们定义了一个名为 MyThread 的类,继承自 Thread 类,并重写了 run() 方法。在 run() 方法中,我们模拟了一个耗时操作,即 sleep(3)。然后,我们创建了一个 MyThread 的实例 $thread,并调用 start() 方法来启动线程。
接下来,在主线程中,我们调用了 wait() 方法来等待线程执行完成。在调用 wait() 方法之前,我们输出了一条提示信息 "等待线程执行...",然后线程开始执行。当线程执行完成后,wait() 方法会返回 true,然后我们输出 "线程执行完毕"。
需要注意的是,如果线程未能成功执行或者未能完成,wait() 方法会返回 false。因此,在实际使用中,建议在调用 wait() 方法后,检查返回值来确保线程执行成功。
另外,需要注意的是,Threaded::wait() 方法只能用于等待继承自 Thread 类的线程对象。如果尝试在非线程对象上调用 wait() 方法,将会抛出一个异常。