91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

铜鼓县| 兴海县| 博白县| 昌平区| 彭阳县| 江北区| 雷山县| 海盐县| 红河县| 铁力市| 赤壁市| 镇坪县| 盱眙县| 沐川县| 永清县| 如东县| 永顺县| 桃园县| 密山市| 许昌县| 隆安县| 绵竹市| 安国市| 永泰县| 大石桥市| 泰安市| 民县| 黄冈市| 庆元县| 蒙城县| 房山区| 马尔康县| 望谟县| 泗水县| 阿城市| 磐安县| 台中县| 镇雄县| 阜新市| 五华县| 民和|