Inq*_*ive 5 java java.util.concurrent
根据Goetz在他的书JCIP中的说法:
因为每个线程都有自己的中断策略,所以除非知道中断对该线程的意义,否则不应该中断线程.
为什么Java语言提供了一种public interrupt ()方法?这是一个设计缺陷吗?谁或什么应该打断一个线程呢?
他的意思是,如果你不知道一个线程做什么以及它如何工作,你不应该中断它。interrupt()由于所有线程都可以被中断,因此在类中拥有一个方法是合乎逻辑的Thread。
您可以对许多其他方法提出同样的问题,这些方法在错误的位置执行时可能会造成“伤害”。方法就是工具,程序员必须明智地使用这些工具才能创建正确运行的程序。