Причина заключается в разнице в абстракции, которая является Future и конкретным исполнением в потоке.Мы не можем сказать, связано ли будущее с одним потоком или несколькими потоками.Будущее может запустить новые потоки, запустить новые фьючерсы и т. Д.
Рассматривать эти абстракции как взаимодействия между клиентским кодом и исполнителем фьючерсов.Концептуально имеет смысл сказать «отменить эту задачу, которую я просил вас выполнить», потому что ваша задача была отменить.Возможно, я занят работой над этим, или я еще не запустил его, или он может быть закончен, но это нормально, я отменю это, если вы захотите.Вот почему у нас есть метод отмены.
С другой стороны, не имеет особого смысла говорить «прервите свою задачу».Из-за разрыва между результатом действия (Будущее) и моделью исполнения (скажем, Исполнитель) клиент не знает, какие действия предпринимаются для выполнения задачи.Как тогда можно ожидать, что клиент узнает, когда прерывание подходит, требуется или даже поддерживается.