Ответ теперь выглядит намного лучше @Valery. Я удалил свой предыдущий комментарий, так как он больше не актуален.

у меня есть

CompletableFuture<Something> future1 = service.request(param1);
CompletableFuture<Something> future2 = service.request(param2);
CompletableFuture<Void> many = CompletableFuture.allOf(future1, future2);

что будет когда я сделаюmany.cancel()? Будетfuture1 а такжеfuture2 быть отмененным, а? Если нет, то какой будет самый чистый способ достичь этого? Я не хочу держатьсяfuture1 а такжеfuture2просто чтобы иметь возможность отменить их, когда я хочу отменитьmany.

Некоторые предыстории, почему я хочу это: при получении части данных мне нужно запросить сопоставление, потенциально будущие данные для выполнения вычислений. Если прибывает новый фрагмент данных, я хочу отменить завершение более раннего вычисления, потому что результат будет немедленно заменен новым вычислением.

Ответы на вопрос(3)

Ваш ответ на вопрос