亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java多線程Callable接口實現代碼示例

發布時間:2020-10-11 02:28:03 來源:腳本之家 閱讀:151 作者:于亮 欄目:編程語言

對于多線程,大家并不陌生,對于如何創建線程也是輕車熟路,對于使用new thread和實現runable接口的方式,不再多說。這篇博文我們介紹第三種:實現Callable接口。

Callable接口

接口定義:

@FunctionalInterface
public interface Callable<V> {
  V call() throws Exception;
}

從Callable的定義可以看出:

Callable接口類似于Runnable,兩者都是為那些其實例可能被另一個線程執行的類設計的,方法可以有返回值,并且可以拋出異常。但是Runnable不行。

Callable需要依賴FutureTask,用于接收運算結果。一個產生結果,一個拿到結果。FutureTask是Future接口的實現類,也可以用作閉鎖。

簡單實例

計算0到100相加,返回結果。

public class TestCallable {
  public static void main(String[] args) {
    CallableThreadDemo ctd = new CallableThreadDemo();
    //1.執行Callable方式,需要FutureTask實現類的支持,用于接收運算結果
    FutureTask<Integer> result = new FutureTask<Integer>(ctd);
    new Thread(result).start();
    //2.接收線程運算后的結果
    try {
      Integer sum = result.get(); //FutureTask 可用于閉鎖
      System.out.println(sum);
    } catch (InterruptedException | ExecutionException e) {
      e.printStackTrace();
    }
  }
}
class CallableThreadDemo implements Callable<Integer>{
  @Override
  public Integer call() throws Exception {
    int sum = 0;
    for (int i = 0; i <= 100; i++) {
      sum += i;
    }
    return sum;
  }
}

總結

Callable接口其實特別簡單,在多線程環境中,返回結果。

希望本文所述對大家了解多線程及callable接口有所幫助。感興趣的朋友可以繼續參閱本站:淺談Java面向接口編程、Java編程接口回調一般用法代碼解析等。感謝大家對本站的支持!

向AI問一下細節

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

AI

开封市| 都兰县| 康保县| 大埔县| 米脂县| 抚顺市| 吉安市| 眉山市| 安多县| 渭南市| 涿鹿县| 长治县| 调兵山市| 钟山县| 上思县| 阿图什市| 新源县| 松潘县| 肇庆市| 屏南县| 东乌珠穆沁旗| 阳曲县| 名山县| 万载县| 吉木乃县| 白银市| 华安县| 和田县| 井冈山市| 呼伦贝尔市| 石泉县| 台北县| 将乐县| 措美县| 陵水| 宁城县| 苏州市| 宁海县| 海盐县| 龙江县| 高碑店市|