When using the ExecutorService returned by Executors.newSingleThreadExecutor(), how do I interrupt it?
ExecutorService
Executors.newSingleThreadExecutor()
In order to do this, you need to submit() a task to an ExecutorService, rather than calling execute(). When you do this, a Future is returned that can be used to manipulate the scheduled task. In particular, you can call cancel(true) on the associated Future to interrupt a task that is currently executing (or skip execution altogether if the task hasn't started running yet).
submit()
execute()
Future
cancel(true)
By the way, the object returned by Executors.newSingleThreadExecutor() is actually an ExecutorService.
2.1m questions
2.1m answers
60 comments
57.0k users