更新時間:2023-03-23 來源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
在Java中,創(chuàng)建線程池有兩種常見的方式:
1.通過 Executors 工具類提供的靜態(tài)方法創(chuàng)建線程池。
2.通過 ThreadPoolExecutor 構(gòu)造函數(shù)自定義線程池。
下面是兩種方式的代碼示例:
通過 Executors 工具類提供的靜態(tài)方法創(chuàng)建線程池:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 創(chuàng)建固定大小的線程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任務(wù)給線程池
for (int i = 0; i < 10; i++) {
executor.execute(new Task());
}
// 關(guān)閉線程池
executor.shutdown();
}
static class Task implements Runnable {
public void run() {
System.out.println("Executing task on thread: " + Thread.currentThread().getName());
}
}
} 2.通過 ThreadPoolExecutor 構(gòu)造函數(shù)自定義線程池:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
public class ThreadPoolExample {
public static void main(String[] args) {
// 自定義線程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(
2, // 核心線程數(shù)
5, // 最大線程數(shù)
1, // 空閑線程存活時間
TimeUnit.SECONDS, // 存活時間單位
new LinkedBlockingQueue<Runnable>() // 任務(wù)隊(duì)列
);
// 提交任務(wù)給線程池
for (int i = 0; i < 10; i++) {
executor.execute(new Task());
}
// 關(guān)閉線程池
executor.shutdown();
}
static class Task implements Runnable {
public void run() {
System.out.println("Executing task on thread: " + Thread.currentThread().getName());
}
}
}在上面的示例中,我們創(chuàng)建了兩個線程池,一個是固定大小的線程池,一個是自定義線程池。在兩個線程池中,我們都提交了 10 個任務(wù)給線程池執(zhí)行。每個任務(wù)都只是打印當(dāng)前線程的名稱。最后,我們調(diào)用了線程池的 shutdown() 方法關(guān)閉線程池。
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19