completable-future

    0熱度

    2回答

    有: String getData(String key){ // Slow operation } CompletableFuture<String> getDataAsync(String key){ return CompletableFuture.supplyAsync(() -> getData(key)); } 是什麼下面的區別? 一) keyStrea

    2熱度

    1回答

    我有一個字符串列表,對於他們每個人,我需要打開一個新線程並將所有信息收集到CompletableFuture中。 這是我的迭代: for (String result: results) { candidateInfos.add(getCandidatesInfo(result)); } 我試圖首次線程的執行情況和我將不勝感激一些幫助。

    -1熱度

    3回答

    我想在我的Java程序中使用兩個線程來處理一小部分。我需要給數據庫第一次調用和第二次調用API,兩次調用具有相同的輸入,然後使用任何先前完成的線程的輸出。 這是我第一次用線程編程,我很困惑。我看過教程,他們主要解釋如何用線程完成兩件獨立的事情,所以我有點迷路。 有人可以幫助或重新指引我到他們可能有的任何有用的鏈接? 到目前爲止,據我瞭解,它應該看起來像這樣嗎? : Thread thread1 =

    0熱度

    2回答

    我試圖找到一種異步方式立即返回客戶端請求響應。 我只需要記錄請求數據,調用新線程來請求其他服務器上的昂貴操作(一些後端操作) 並且無需等待來自它們的響應立即返回200狀態響應到客戶端。 在這一刻,我試圖用CompletableFuture做到這一點,但我錯過了一些東西。 package com.example.controller; import org.apache.logging.log4

    3熱度

    1回答

    我在調查Java 8 CompletableFutures並閱讀(並且看到)我應該使用thenCompose而不是thenApply。 我已經將我的代碼轉換爲使用thenCompose但我有一種錯誤的感覺。 這裏是我的控制代碼... final CompletableFuture<List<String>> extractor = get(htmlPageSource); @SuppressWa

    1熱度

    1回答

    我有一個代碼,嚴重使用CompletableFuture,我的同事做了一些測試。 測試似乎通過我的機器,但在他的失敗。 我發現了錯誤(即使測試通過了我的機器),但我想確保我正確地修復了它,而不會打擾我的同事(運行測試)。 由於某些原因,測試中的多線程代碼會按順序運行。 我運行了測試是這樣的: mvn test -Dtest=CompFutTest -DfailIfNoTests=false -Dp

    0熱度

    2回答

    說我有一個像下面的情況: CompletableFuture<Object1> f1 = Class1.doSomething(); CompletableFuture<Object2> f2 = Class2.doSomethingElse(f1); boolean b = doAnotherThing(f2); 凡Class2中使用thenCompose(),並返回一個不同的對象類型

    3熱度

    2回答

    我剛開始研究Java的CompletableFuture,並對這是真正的異步(即同時運行在一個線程上)還是跨越多個線程(並行)有點困惑。 例如,假設我想撥打1000個不同的服務電話。進一步假設每個服務調用都可以異步進行。當使用CompletableFuture時,JVM會創建1000個獨立的線程(假設JVM允許這麼多線程),或者在一個線程中執行所有這些請求?或者它是否做了一些?使用一些線程異步執行

    0熱度

    1回答

    我正在使用一個服務,讓我回到一個CompletableFuture承諾,事情是,我只能通過反射工作得很好的方法。但對待諾言的迴歸讓我感到困惑。 通常人們會使用這樣一個CompletableFuture工作: promise.thenApply(returnValue -> { //do something with it }); 一個怎樣做到這一點與反思? ​​

    1熱度

    1回答

    CompletableFuture<Object> cf = new CompletableFuture<>(); cf.whenComplete((t, throwable) -> { System.out.println(Thread.currentThread().toString()); }); cf.complete(new Object()); 這將運行whenCo