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

溫馨提示×

java threadpoolexecutor怎樣使用

小樊
81
2024-11-17 00:15:56
欄目: 編程語言

Java的ThreadPoolExecutor是一個用于執行和管理線程的類,它可以幫助你更有效地控制并發任務的執行。下面是一個簡單的示例,展示了如何使用ThreadPoolExecutor來執行一組任務:

  1. 首先,導入必要的包:
import java.util.concurrent.*;
  1. 創建一個ThreadPoolExecutor實例:
int corePoolSize = 5; // 核心線程數
int maximumPoolSize = 10; // 最大線程數
long keepAliveTime = 60L; // 空閑線程的存活時間(單位:秒)
 TimeUnit unit = TimeUnit.SECONDS; // 存活時間的單位
BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(20); // 任務隊列

ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
        corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
  1. 提交任務到ThreadPoolExecutor
for (int i = 0; i < 20; i++) {
    int finalI = i;
    threadPoolExecutor.submit(() -> {
        System.out.println("Task " + finalI + " is executed by thread " + Thread.currentThread().getName());
    });
}
  1. 關閉ThreadPoolExecutor
threadPoolExecutor.shutdown();
try {
    if (!threadPoolExecutor.awaitTermination(60, TimeUnit.SECONDS)) {
        threadPoolExecutor.shutdownNow();
    }
} catch (InterruptedException e) {
    threadPoolExecutor.shutdownNow();
}

這個示例中,我們創建了一個ThreadPoolExecutor實例,設置了核心線程數、最大線程數、空閑線程存活時間等參數。然后,我們提交了20個任務到ThreadPoolExecutor,并等待所有任務執行完成。最后,我們關閉了ThreadPoolExecutor

注意:在實際應用中,你可能需要根據具體需求調整corePoolSizemaximumPoolSizekeepAliveTime等參數。此外,你還可以使用Executors類提供的工廠方法(如newFixedThreadPool()newCachedThreadPool()等)來創建ThreadPoolExecutor實例,而無需手動設置這些參數。

0
余干县| 石林| 抚顺县| 商城县| 抚州市| 威海市| 浠水县| 塔河县| 夏河县| 桐城市| 彩票| 渝北区| 肥城市| 沧源| 广昌县| 孝昌县| 房产| 林西县| 仁化县| 西吉县| 广西| 舒兰市| 临安市| 新田县| 万州区| 铜梁县| 娄底市| 灵璧县| 余姚市| 搜索| 巴楚县| 陆良县| 靖安县| 阳高县| 灵台县| 郁南县| 宁安市| 师宗县| 通化市| 郸城县| 定结县|