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

java ThreadPoolExecutor 并發(fā)調用實例詳解

 更新時間:2017年05月27日 15:37:06   投稿:lqh  
這篇文章主要介紹了java ThreadPoolExecutor 并發(fā)調用實例詳解的相關資料,需要的朋友可以參考下

java ThreadPoolExecutor 并發(fā)調用實例詳解

概述

通常為了提供任務的處理速度,會使用一些并發(fā)模型,ThreadPoolExecutor中的invokeAll便是一種。

代碼

package test.current;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class TestCallable {

  public static void main(String[] args) throws InterruptedException, ExecutionException {

    List<Callable<List<Long>>> tasks = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
      Callable<List<Long>> task = new Callable<List<Long>>() {
        @Override
        public List<Long> call() throws Exception {
          return Arrays.asList(1L,2L);
        }
      };

      tasks.add(task);
    }

    List<Long> finalResults = new ArrayList<>(10);
    List<Future<List<Long>>> results = ThreadPool.getThreadPool().invokeAll(tasks);
    for(Future<List<Long>> ele : results) {
      List<Long> list = ele.get();
      finalResults.addAll(list);
    }

    System.out.println(finalResults);
  }
}

package test.current;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class ThreadPool {
  private static final int CORE_SIZE = 8;

  private static final int MAX_SIZE = 12;

  private static final long KEEP_ALIVE_TIME = 30;

  private static final int QUEUE_SIZE = 50000;

  private static ThreadPoolExecutor threadPool = new ThreadPoolExecutor(CORE_SIZE, MAX_SIZE, KEEP_ALIVE_TIME,
      TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(QUEUE_SIZE), new ThreadPoolExecutor.AbortPolicy());

  public static ThreadPoolExecutor getThreadPool() {
    return threadPool;
  }
}

可以把需要執(zhí)行的任務創(chuàng)建一個Callable task,利用線程池中的線程并發(fā)的執(zhí)行這些task,從而提高任務的執(zhí)行效率。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • TreeSet判斷重復元素解析及代碼示例

    TreeSet判斷重復元素解析及代碼示例

    這篇文章主要介紹了TreeSet判斷重復元素解析及代碼示例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 使用Spring處理x-www-form-urlencoded方式

    使用Spring處理x-www-form-urlencoded方式

    這篇文章主要介紹了使用Spring處理x-www-form-urlencoded方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 淺談Java中是否直接可以使用enum進行傳輸

    淺談Java中是否直接可以使用enum進行傳輸

    這篇文章主要介紹了淺談Java中是否直接可以使用enum進行傳輸,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Java中將字符串String轉換為整數int的多種方法

    Java中將字符串String轉換為整數int的多種方法

    在Java中將String類型轉換為int類型是一個常見的操作,下面這篇文章主要給大家介紹了關于Java中將字符串String轉換為整數int的多種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 基于@GetMapping注解攜帶參數的方式

    基于@GetMapping注解攜帶參數的方式

    這篇文章主要介紹了基于@GetMapping注解攜帶參數的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • springboot實現(xiàn)定時任務的四種方式小結

    springboot實現(xiàn)定時任務的四種方式小結

    本文主要介紹了springboot實現(xiàn)定時任務的四種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 一篇文章帶你了解JAVA面對對象應用

    一篇文章帶你了解JAVA面對對象應用

    Java是一門面向對象的語言。對象是Java程序中的基本實體。除了對象之外Java程序同樣處理基本數據。下面這篇文章主要給大家總結了關于Java中面向對象的知識點,需要的朋友可以參考借鑒,下面來一起看看吧
    2021-08-08
  • Java中this和super的區(qū)別及this能否調用到父類使用

    Java中this和super的區(qū)別及this能否調用到父類使用

    這篇文章主要介紹了Java中this和super的區(qū)別及this能否調用到父類使用,this和super都是Java中常見的關鍵字,下文關于兩者區(qū)別介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Java動態(tài)規(guī)劃之編輯距離問題示例代碼

    Java動態(tài)規(guī)劃之編輯距離問題示例代碼

    這篇文章主要介紹了Java動態(tài)規(guī)劃之編輯距離問題示例代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Spark隨機森林實現(xiàn)票房預測

    Spark隨機森林實現(xiàn)票房預測

    這篇文章主要為大家詳細介紹了Spark隨機森林實現(xiàn)票房預測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評論

海南省| 曲阜市| 许昌市| 砚山县| 广灵县| 固镇县| 繁峙县| 大安市| 武强县| 瓦房店市| 三门县| 淄博市| 句容市| 宜兰县| 宁南县| 安义县| 青铜峡市| 昌黎县| 永登县| 江川县| 乌苏市| 青神县| 彭泽县| 丹巴县| 晋中市| 亚东县| 太湖县| 达州市| 湾仔区| 红安县| 新民市| 平阴县| 香格里拉县| 乌什县| 张家港市| 上蔡县| 阆中市| 马边| 五寨县| 涟水县| 莱州市|