Глядя на документы и пару примеров, я все еще немного запутался. Я думаю, что понимаю основы этого, но я смущен тем, когда их можно использовать.
Я думаю, что мои основные вопросы ..
- Являются ли CompletionStage/CompletableFuture асинхронным кодом? Если да, то почему вы используете один вместо другого?
- Если CompletionStage можно использовать для неасинхронного кода, зачем вообще его использовать? Чем он будет отличаться от обычного последовательного кода?
- Чем они вообще отличаются? Я вижу, что есть асинхронные методы, которые вы можете вызывать как для CompletionStage, так и для CompletableFuture.
- Какой сценарий вы бы использовали один над другим?