关于PHP多线程pthreads拓展的join方法,他究竟是干什么的?

发布于 2022-09-04 11:46:18 字数 175 浏览 15 评论 0

查了文档,也实践过了。
如下代码,我把join去掉或者加上,感觉都没有什么区别啊?:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓬勃野心 2022-09-11 11:46:19

join,用于(在当前的线程里)等待这个线程执行结束

根据你贴的代码的上下文,确实没卵用,isRunning()为false了,通常线程也就结束了

不排除有其它情况(比如线程从Running进入别的状态又突然恢复成Running)

加上这句应该更安全

个人理解,看代码的意思,可以把while那一段都删掉,没用,保留if那一段就行了

蠢萌的等待10微秒,笑=。=

┼── 2022-09-11 11:46:18

join起阻塞主线程(调用子线程的join方法的这个线程)的作用,防止子线程还未执行完毕时主线程就已经退出了的问题。
之所以你感觉没区别是因为你已经usleep了十秒钟,这段时间主线程已经被你的usleep阻塞了,所以他把join的阻塞功能给替代了。
关于多线程阻塞问题你可以看看我写的文章,虽然是python语言,但是多线程api都差不多的。https://zhuanlan.zhihu.com/p/...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文