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

溫馨提示×

溫馨提示×

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

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

java ThreadPoolExecutor 并發調用實例詳解

發布時間:2020-09-07 12:50:14 來源:腳本之家 閱讀:179 作者:lqh 欄目:編程語言

java ThreadPoolExecutor 并發調用實例詳解

概述

通常為了提供任務的處理速度,會使用一些并發模型,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;
  }
}

可以把需要執行的任務創建一個Callable task,利用線程池中的線程并發的執行這些task,從而提高任務的執行效率。

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

向AI問一下細節

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

AI

桂东县| 保德县| 德惠市| 油尖旺区| 罗城| 湟中县| 于田县| 噶尔县| 台江县| 聂拉木县| 奇台县| 泾川县| 尚志市| 靖州| 阿克| 浦城县| 贡觉县| 台州市| 承德县| 光山县| 彝良县| 报价| 凤冈县| 磐石市| 肥东县| 新巴尔虎左旗| 定州市| 浦东新区| 湘潭县| 扶余县| 资溪县| 巴林左旗| 巧家县| 彰武县| 葵青区| 连山| 汾阳市| 通城县| 千阳县| 铜梁县| 镇坪县|