我知道线程中断状态应该在负责线程生命周期的代码交付和处理时清除。在我看来,唯一应该请求中断的代码是Thread被编码为与之合作的代码(通常是创建线程的代码),因为“中断”状态似乎可以解释。
我能想到的唯一场景是一些被请求中止某些工作的应用程序容器。为此,它会中断托管线程并进行一些清理并继续执行线程。但是,这非常复杂,因为在实践中允许线程终止并启动新线程更容易。
什么时候线程“处理”中断状态而不终止是有意义的?
答案 0 :(得分:0)
原则上,中断意味着你想要的任何意思。问题是,假设当代码调用库例程时发生中断;图书馆作者认为它应该是什么意思? 希望,lib作者认为这意味着,"中止当前操作,但是如果客户想要启动另一个操作,则将所有内容保持在一致状态。"但是如果它发生在那个库正在调用一些其他库的时候,某些其他 yahoo写了......
唯一真正安全的做法是关闭整个程序。