如何中断ExecutorService的线程


问题内容

使用ExecutorServicereturn by时Executors.newSingleThreadExecutor(),如何中断它?


问题答案:

为此,您需要将submit()任务分配给ExecutorService,而不是调用execute()。当您执行此操作时,将Future返回一个可用于操纵计划任务的a。特别是,您可以调用cancel(true)关联程序Future来中断当前正在执行的任务(或者,如果该任务尚未开始运行,则完全跳过执行)。

顺便说一句,由返回的对象Executors.newSingleThreadExecutor()实际上是个ExecutorService