When using the ExecutorService
returned by Executors.newSingleThreadExecutor()
, how do I interrupt it?
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).
By the way, the object returned by Executors.newSingleThreadExecutor()
is actually an ExecutorService
.