函数名称:Thread::isJoined()
函数描述:Thread::isJoined() 方法用于检查线程是否已经加入。
参数:无
返回值:布尔值。如果线程已经加入,则返回 true;否则返回 false。
适用版本:该函数适用于 PHP 7.2.0 及以上版本。
示例:
<?php
class MyThread extends Thread {
public function run() {
echo "线程执行中...\n";
sleep(3);
}
}
$thread = new MyThread();
$thread->start(); // 启动线程
// 检查线程是否已经加入
if ($thread->isJoined()) {
echo "线程已经加入\n";
} else {
echo "线程未加入\n";
}
$thread->join(); // 等待线程执行完毕
// 再次检查线程是否已经加入
if ($thread->isJoined()) {
echo "线程已经加入\n";
} else {
echo "线程未加入\n";
}
?>
输出结果:
线程未加入
线程执行中...
线程已经加入
在上面的示例中,我们创建了一个继承自 Thread 类的自定义线程类 MyThread。在 MyThread 类中,我们重写了 run() 方法,该方法会在线程启动后执行,并打印出一条信息,然后让线程休眠 3 秒钟。
在主线程中,我们创建了一个 MyThread 对象,并调用 start() 方法启动线程。然后使用 isJoined() 方法检查线程是否已经加入,第一次检查返回 false,因为线程还在执行中。接着我们调用 join() 方法等待线程执行完毕。再次使用 isJoined() 方法检查线程是否已经加入,第二次检查返回 true,因为线程已经执行完毕并加入了主线程。
通过使用 Thread::isJoined() 方法,我们可以方便地检查线程是否已经加入,以便在需要等待线程执行完毕后执行其他操作。