【发布时间】:2013-09-15 15:04:10
【问题描述】:
如何编写实现Runnable 接口(从ExecutorService 开始)的类的方法来中断线程?
我知道我可以使用Future fut = es.submit(foo);(其中es 是ExecutorService,foo 是我的类的一个实例)然后从应用程序的主函数内部调用fut.cancel(true);,但是如何我应该从类本身内部调用类似的东西吗?
我想在我的 Runnable 类中有一个方法
public void stop() {…}
这样我就可以从任何地方(包括从应用程序的主函数)调用foo.stop(),它就像我使用了Future.cancel 函数一样工作(如果线程正在等待,它必须引发 ÌnterruptedException`获取信号量)。
【问题讨论】:
标签: java multithreading java.util.concurrent