Java 如何立即停止其他线程执行?

Java 如何立即停止其他线程执行?,java,multithreading,Java,Multithreading,可能重复: 我需要一种方法来停止另一个线程的执行,我的意思是没有任何延迟,例如,当用户单击一个按钮时,线程立即停止它的执行(不重要的是正在做什么) 我认为一种方法是通过ExecutorService提交可运行类,并在需要时取消返回的Future。在另一端,我必须检查Thread.currentThread.isInterrupted(),如果这是真的,线程将返回 但它有一个问题,它不能立即工作。还有更好的主意吗 当你依赖于schedueler的时候,在线程方面真的没有即时性。线程应该配合它们

可能重复:

我需要一种方法来停止另一个线程的执行,我的意思是没有任何延迟,例如,当用户单击一个按钮时,线程立即停止它的执行(不重要的是正在做什么)

我认为一种方法是通过
ExecutorService
提交可运行类,并在需要时取消返回的Future。在另一端,我必须检查
Thread.currentThread.isInterrupted()
,如果这是真的,线程将返回


但它有一个问题,它不能立即工作。还有更好的主意吗

当你依赖于schedueler的时候,在线程方面真的没有即时性。线程应该配合它们自己的终止。这是一种干净的做事方式。杀死一个不合作的线程可能会导致奇怪的问题(这就是为什么stop()被弃用的原因)