扫码关注官方订阅号
闭关修行中......
用jion,在A线程的run方法前面调用B.jion()
使用线程条件变量:https://docs.oracle.com/javas...
直接判断变量可能会出现 race condition 。应当使用 java.util.concurrent.locks 包中的 Condition 。
java.util.concurrent.locks
Condition
用ReentrantLock Condition做条件控制。
保证线程停止循环的条件能顺利到达需要停止的线程就OK
while(true){ if(B.stop){ return } }
可以使用Volatile条件变量和Interrupt来实现结束线程
正如一楼所说,线程的join方法即让一个线程A加入到线程B的尾部,只有当线程B执行完毕,A才继续执行。正好对应你的这种情况
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
用jion,在A线程的run方法前面调用B.jion()
使用线程条件变量:https://docs.oracle.com/javas...
直接判断变量可能会出现 race condition 。
应当使用
java.util.concurrent.locks包中的Condition。用ReentrantLock Condition做条件控制。
保证线程停止循环的条件能顺利到达需要停止的线程就OK
可以使用Volatile条件变量和Interrupt来实现结束线程
正如一楼所说,线程的join方法即让一个线程A加入到线程B的尾部,只有当线程B执行完毕,A才继续执行。正好对应你的这种情况