[英]Interrupting a thread in Java
我想优雅地关闭线程。 我在 inte.net 上看到很多代码并在这里查询。 我认为有两种关机方法。
我的问题是为什么避免使用 boolean 标志来正常关闭线程,当我运行示例程序时它运行良好。
boolean
标志没有任何问题,但是:
您需要记住同步/可见性(至少将volatile
放在标志上)
为什么在一个已经实现( interrupted
)的情况下添加一个额外的标志?
其他库/容器可能会尝试中断你的线程(毕竟,他们不知道你的标志!)所以你仍然需要支持InterruptedException
和/或isInterrupted()
标志
中断线程也可以中断 I/O 调用和Thread.sleep()
。 您的自定义标志不能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.