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

溫馨提示×

溫馨提示×

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

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

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

黄山市| 固始县| 惠来县| 阿拉尔市| 新平| 岑巩县| 开封市| 三门峡市| 崇礼县| 大理市| 长垣县| 永城市| 吴忠市| 秭归县| 沙河市| 曲阜市| 南昌市| 保康县| 宕昌县| 福鼎市| 镇平县| 应城市| 永顺县| 平原县| 商丘市| 新野县| 肥东县| 铁岭县| 平潭县| 依安县| 河间市| 华亭县| 越西县| 宁国市| 阜平县| 庆阳市| 渑池县| 山阴县| 西和县| 准格尔旗| 安化县|