Является ли CompletableFuture.supplyAsync() избыточным, если он не изменяет входящее значение?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Является ли CompletableFuture.supplyAsync() избыточным, если он не изменяет входящее значение?

Сообщение Anonymous »

Во время курса по параллельному программированию я столкнулся с этим примером кода:

Код: Выделить всё

@Test
void promiseTestCompose2() throws Exception {
CompletableFuture future1 = CompletableFuture
.supplyAsync(this::slowInit)
.thenApply(this::slowIncrement);

CompletableFuture thenCompose = future1
.thenCompose(value -> CompletableFuture.supplyAsync(() -> value))
.thenApply(this::slowIncrement);

int result = thenCompose.get();
assertEquals(result, 3);
}
Похоже, что в этой части предложение thenCompose() является избыточным:

Код: Выделить всё

CompletableFuture thenCompose = future1
.thenCompose(value -> CompletableFuture.supplyAsync(() -> value))
.thenApply(this::slowIncrement);
на случай, если я изменю его на

Код: Выделить всё

CompletableFuture thenCompose = future1.thenApply(this::slowIncrement);
тест все равно проходит.
Поэтому мой вопрос заключается в том, .thenCompose(value -> CompletableFuture.supplyAsync(() -> value))< /code> здесь действительно лишний или я что-то упустил?
Мне хотелось бы получить объяснение, могу ли я удалить thenCompose(), если он не изменяет входящее значение .

Подробнее здесь: https://stackoverflow.com/questions/785 ... y-the-inco
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отсутствует оператор возврата в лямбда-выражении CompletableFuture.supplyAsync.
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует оператор возврата в лямбда-выражении CompletableFuture.supplyAsync.
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует оператор возврата в лямбда-выражении CompletableFuture.supplyAsync [дубликат]
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Издевательская Java CompletableFuture.supplyAsync
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Издевательская Java CompletableFuture.supplyAsync [дубликат]
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»