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

溫馨提示×

溫馨提示×

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

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

Java如何實現Callable接口

發布時間:2020-07-29 10:15:53 來源:億速云 閱讀:192 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了Java如何實現Callable接口,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

代碼如下

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

/**
 * @author lzq
 * @data 2020/4/30 0030 - 下午 4:02
 */
public class Test2 {
  public static void main(String[] args) throws ExecutionException, InterruptedException {
    MyThread thread=new MyThread();
    FutureTask task = new FutureTask(thread);
    new Thread(task,"a").start();
    new Thread(task,"b").start();
    System.out.println(task.get());
  }
 }
class MyThread implements Callable<String> {

  @Override
  public String call() {
    System.out.println("實現callable");
    return "得到返回值";
  }
}

  執行結果為:

        Java如何實現Callable接口

  上面是使用Callable接口簡單實現多線程,使用這個接口要使用FutrueTask類作為簡單的適配類,因為Thread構造方法只能接受Runnable接口參數,下面源碼中看出FutrueTask的對象為什么也能作為Runnable型參數傳給Thread構造方法

Java如何實現Callable接口

  再分析一下結果,可以看到明明啟動了a,b兩個線程,但是只輸出了一個線程的結果,這是因為運行的結果會被緩存,使得線程的執行效率變高。還有一點就是獲取線程返回值的get方法可能會產生阻塞,一般放在最后或者使用異步通信來處理。

以上就是關于Java如何實現Callable接口的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

凯里市| 含山县| 郴州市| 二手房| 白山市| 吐鲁番市| 安龙县| 菏泽市| 达拉特旗| 贡嘎县| 瑞金市| 马公市| 射阳县| 澄城县| 邯郸市| 余姚市| 枝江市| 什邡市| 乐东| 鄂托克前旗| 靖江市| 巢湖市| 新宁县| 沅江市| 贵阳市| 全州县| 阳朔县| 福建省| 饶河县| 兰坪| 绿春县| 兴安县| 忻州市| 南郑县| 许昌县| 洪泽县| 长武县| 萍乡市| 曲麻莱县| 兰溪市| 宁陵县|