use*_*721 2 java multithreading
我想优雅地关闭线程.我在互联网上看到很多代码,并在这里查询.我认为有两种方法可以关闭.
我的问题为什么避免使用布尔标志来优雅地关闭线程,当我运行示例程序时,它进展顺利.
boolean然而,旗帜没有错:
你需要记住同步/可见性(至少放在volatile旗帜上)
为什么在一个已经实现的时候添加一个额外的标志(interrupted)?
其他库/容器可能会试图中断你的线程(毕竟,他们不知道你的标志!)所以你仍然需要支持InterruptedException和/或isInterrupted()标记
中断线程也可以中断I/O调用Thread.sleep().你的自定义标志不能