最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程Callable接口實現(xiàn)代碼示例

 更新時間:2017年10月20日 09:36:21   作者:于亮  
相信大家對Java編程中如何創(chuàng)建線程已經(jīng)不陌生了,這篇文章就向朋友們介紹實現(xiàn)callable接口,具體實例詳見正文。

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

Callable接口

接口定義:

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

從Callable的定義可以看出:

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

Callable需要依賴FutureTask,用于接收運算結(jié)果。一個產(chǎn)生結(jié)果,一個拿到結(jié)果。FutureTask是Future接口的實現(xiàn)類,也可以用作閉鎖。

簡單實例

計算0到100相加,返回結(jié)果。

public class TestCallable {
  public static void main(String[] args) {
    CallableThreadDemo ctd = new CallableThreadDemo();
    //1.執(zhí)行Callable方式,需要FutureTask實現(xiàn)類的支持,用于接收運算結(jié)果
    FutureTask<Integer> result = new FutureTask<Integer>(ctd);
    new Thread(result).start();
    //2.接收線程運算后的結(jié)果
    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;
  }
}

總結(jié)

Callable接口其實特別簡單,在多線程環(huán)境中,返回結(jié)果。

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

相關(guān)文章

  • java?串口工具jSerialComm示例詳解

    java?串口工具jSerialComm示例詳解

    這篇文章主要介紹了java?串口工具jSerialComm,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • nacos-discovery包名層級問題解決

    nacos-discovery包名層級問題解決

    這篇文章主要為大家介紹了nacos-discovery包名層級問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Java實現(xiàn)一鍵獲取Mysql所有表字段設(shè)計和建表語句的工具類

    Java實現(xiàn)一鍵獲取Mysql所有表字段設(shè)計和建表語句的工具類

    這篇文章主要為大家詳細介紹了如何利用Java編寫一個工具類,可以實現(xiàn)一鍵獲取Mysql所有表字段設(shè)計和建表語句,感興趣的小伙伴可以了解一下
    2023-05-05
  • SpringBoot實現(xiàn)簡單的登錄注冊的項目實戰(zhàn)

    SpringBoot實現(xiàn)簡單的登錄注冊的項目實戰(zhàn)

    本文主要介紹了SpringBoot實現(xiàn)簡單的登錄注冊的項目實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringBoot自動配置@EnableAutoConfiguration過程示例

    SpringBoot自動配置@EnableAutoConfiguration過程示例

    這篇文章主要為大家介紹了SpringBoot自動配置@EnableAutoConfiguration的過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • JavaMail實現(xiàn)郵件發(fā)送機制

    JavaMail實現(xiàn)郵件發(fā)送機制

    這篇文章主要為大家詳細介紹了JavaMail實現(xiàn)郵件發(fā)送機制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 一文帶你了解Spring中@Enable開頭注解的使用

    一文帶你了解Spring中@Enable開頭注解的使用

    前面的文章給大家介紹?Spring?的重試機制的時候有提到過?Spring?有很多?@Enable?開頭的注解,平時在使用的時候也沒有注意過為什么會有這些注解,今天就給大家介紹一下
    2022-09-09
  • Java中Spring的單例模式使用

    Java中Spring的單例模式使用

    這篇文章主要介紹了Java中Spring的單例模式使用,spring中的單例也不影響應(yīng)用并發(fā)訪問。大多數(shù)時候客戶端都在訪問我們應(yīng)用中的業(yè)務(wù)對象,為減少并發(fā)控制,不應(yīng)該在業(yè)務(wù)對象中設(shè)置那些容易造成出錯的成員變量,下面一起進入文章了解更多詳細內(nèi)容吧
    2022-01-01
  • Java中如何執(zhí)行多條shell/bat命令

    Java中如何執(zhí)行多條shell/bat命令

    這篇文章主要介紹了Java中如何執(zhí)行多條shell/bat命令的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java 中動態(tài)代理(JDK,cglib)實例代碼

    java 中動態(tài)代理(JDK,cglib)實例代碼

    這篇文章主要介紹了java 中動態(tài)代理,這里介紹了JDK 動態(tài)代理與 cglib 動態(tài)代理的相關(guān)資料
    2017-04-04

最新評論

凤凰县| 泗洪县| 平南县| 桂东县| 桂东县| 新闻| 比如县| 公主岭市| 西宁市| 城步| 平利县| 额尔古纳市| 资兴市| 凉城县| 共和县| 台前县| 昂仁县| 含山县| 比如县| 凤阳县| 兴山县| 洛扎县| 商河县| 托克逊县| 新野县| 新蔡县| 镇雄县| 句容市| 嘉荫县| 高雄县| 康平县| 望江县| 商河县| 铁岭市| 忻州市| 湟中县| 威远县| 平原县| 京山县| 铁岭市| 锦屏县|