中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java中利用Future獲取線程結果

發布時間:2021-04-25 16:14:35 來源:億速云 閱讀:645 作者:Leah 欄目:編程語言

怎么在java中利用Future獲取線程結果?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

java基本數據類型有哪些

Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。

1、概念

Future表示一個可能還沒有完成的異步任務的結果,針對這個結果可以添加Callback以便在任務執行成功或失敗后作出相應的操作。

2、Future接口

Future接口定義了主要的5個接口方法,有RunnableFuture和SchedualFuture繼承這個接口,以及CompleteFuture和ForkJoinTask繼承這個接口。

3、實例

package test;
 
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
 
public class CallableFutureTest {
 
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
Callable<Integer> calculateCallable = new Callable<Integer>() {
@Override
public Integer call() throws Exception {
// TODO Auto-generated method stub
Thread.sleep(2000);//模擬耗時時間
int result = 1+2;
return result;
}
};
FutureTask<Integer> calculateFutureTask = new FutureTask<>(calculateCallable);
Thread t1 = new Thread(calculateFutureTask);
t1.start();
//現在加入Thread運行的是一個模擬遠程調用耗時的服務,并且依賴他的計算結果(比如網絡計算器)
try {
//模擬耗時任務,主線程做自己的事情,體現多線程的優勢
Thread.sleep(3000);
int a = 3+5;
Integer result = calculateFutureTask.get();
System.out.println("result = "+(a+result));//模擬主線程依賴子線程的運行結果
long endTime = System.currentTimeMillis();
System.out.println("time = "+(endTime-startTime)+"ms");
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

看完上述內容,你們掌握怎么在java中利用Future獲取線程結果的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庄浪县| 繁峙县| 海安县| 叙永县| 馆陶县| 德兴市| 赫章县| 兴文县| 奉节县| 富平县| 霍州市| 东山县| 普陀区| 应城市| 和政县| 石狮市| 胶州市| 平凉市| 香河县| 资中县| 金阳县| 泸州市| 马关县| 错那县| 三穗县| 黄平县| 罗定市| 汉寿县| 金寨县| 勃利县| 凌海市| 黎城县| 甘孜县| 清苑县| 普定县| 察隅县| 铜鼓县| 平凉市| 安阳县| 抚松县| 当雄县|