84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
查了文档,也实践过了。如下代码,我把join去掉或者加上,感觉都没有什么区别啊?:
走同样的路,发现不同的人生
join起阻塞主线程(调用子线程的join方法的这个线程)的作用,防止子线程还未执行完毕时主线程就已经退出了的问题。之所以你感觉没区别是因为你已经usleep了十秒钟,这段时间主线程已经被你的usleep阻塞了,所以他把join的阻塞功能给替代了。关于多线程阻塞问题你可以看看我写的文章,虽然是python语言,但是多线程api都差不多的。https://zhuanlan.zhihu.com/p/...
join,用于(在当前的线程里)等待这个线程执行结束
根据你贴的代码的上下文,确实没卵用,isRunning()为false了,通常线程也就结束了
不排除有其它情况(比如线程从Running进入别的状态又突然恢复成Running)
加上这句应该更安全
个人理解,看代码的意思,可以把while那一段都删掉,没用,保留if那一段就行了
蠢萌的等待10微秒,笑=。=
join起阻塞主线程(调用子线程的join方法的这个线程)的作用,防止子线程还未执行完毕时主线程就已经退出了的问题。
之所以你感觉没区别是因为你已经usleep了十秒钟,这段时间主线程已经被你的usleep阻塞了,所以他把join的阻塞功能给替代了。
关于多线程阻塞问题你可以看看我写的文章,虽然是python语言,但是多线程api都差不多的。https://zhuanlan.zhihu.com/p/...
join,用于(在当前的线程里)等待这个线程执行结束
根据你贴的代码的上下文,确实没卵用,isRunning()为false了,通常线程也就结束了
不排除有其它情况(比如线程从Running进入别的状态又突然恢复成Running)
加上这句应该更安全
个人理解,看代码的意思,可以把while那一段都删掉,没用,保留if那一段就行了
蠢萌的等待10微秒,笑=。=