如何中断ExecutorService的线程
问题内容:
使用ExecutorService
return by时Executors.newSingleThreadExecutor()
,如何中断它?
问题答案:
为此,您需要将submit()
任务分配给ExecutorService
,而不是调用execute()
。当您执行此操作时,将Future
返回一个可用于操纵计划任务的a。特别是,您可以调用cancel(true)
关联程序Future
来中断当前正在执行的任务(或者,如果该任务尚未开始运行,则完全跳过执行)。
顺便说一句,由返回的对象Executors.newSingleThreadExecutor()
实际上是个ExecutorService
。