2
我想正常关闭线程。我在网上看到很多代码,并在这里查询。 我认为有两种关机的方法。中断Java中的线程
- 使用布尔标志。一旦标志chnages,我们可以在运行方法中破坏代码。
- 使用中断方法。
我的问题为什么避免使用布尔标志来正常关闭线程,当我运行示例程序时,它运行良好。
我想正常关闭线程。我在网上看到很多代码,并在这里查询。 我认为有两种关机的方法。中断Java中的线程
我的问题为什么避免使用布尔标志来正常关闭线程,当我运行示例程序时,它运行良好。
没有什么错boolean
标志,但是:
你需要记住的同步/能见度(至少在标志放volatile
)
为什么增加一个额外的标志,当一个已经实施(interrupted
)?
其他库/容器可能试图打断你的线程(毕竟,他们不知道你的标志!),所以你仍然需要支持InterruptedException
和/或isInterrupted()
标志
中断线程也中断I/O调用和Thread.sleep()
。您的自定义标志不能