Параллелизм - прерывание будущего без его отмены

Есть ли способ прервать будущее, не отменяя его?

java doc API:

boolean cancel (boolean mayInterruptIfRunning)

Попытки выполнить отменить выполнение этой задачи. Эта попытка не удастся, если у задачи есть уже завершено, уже отменено или не может быть отменен по какой-то другой причине. В случае успеха, а эта задача не запускается при вызове отмены, эта задача никогда не должна выполняться. Если задача уже запущен, то параметр mayInterruptIfRunning определяет, должен ли поток, выполняющий эту задачу, быть прервано при попытке остановить задачу.

Чтобы перехватить прерывание, мы должны правильно перехватить прерванное исключение или проверить метод isInterrupted () в методе Runnable / Callable.

Но нет способа прервать работу Future с помощью интерфейса Future

Поскольку все потоки находятся в пуле Executor Service, никто не может выполнять thread.interrupt (). Поэтому предполагалось, что любое прерывание произойдет только тогда, когда Future отменяется или пул потоков завершается?

Я пытаюсь понять, почему в интерфейсе Future нет метода прерывания.Любая помощь будет принята с благодарностью

13
задан Zack Macomber 17 January 2012 в 21:28
поделиться