4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

1.如何正确停止线程?

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

https://baijiahao.baidu.com/s?id=1662116874256022549&wfr=spider&for=pc

=

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

=

中断一个线程需要二个方法配合

1.设置中断

2.在线程中判断是否被中断

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

2.遭遇阻塞——当停止线程遇到线程阻塞,怎么办?

需要每次判断是否有中断标志,不节省运算时间

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

 

 

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

3.如果线程在每次迭代都阻塞

不需要再判断是否有中断标志,节省运算时间了

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

4.大跌眼镜——这是bug吗?自动清除中断信号

while里面放try/catch,会导致中断失效

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

线程没有被中断,还在继续执行

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

如果我继续判断线程有没有被中断,线程会不会继续运行?

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

加了中断判断也没用,线程还是继续运行

4.正确停止线程|当停止线程遇到线程阻塞怎么办|while里面放try/catch,会导致中断失效

原因:

sleep()方法把中断标记位清除了,所以线程会继续运行