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

溫馨提示×

java怎么使用線程池啟動多線程

小億
129
2023-09-15 13:58:38
欄目: 編程語言

在 Java 中,可以使用線程池來啟動多線程。以下是使用線程池啟動多線程的示例代碼:

首先,需要導入 java.util.concurrent.ExecutorServicejava.util.concurrent.Executors 類。

然后,可以使用 Executors.newFixedThreadPool() 方法創建一個固定大小的線程池。

接下來,可以使用 submit() 方法向線程池提交一個 Runnable 對象,表示要執行的任務。線程池會自動為該任務分配一個空閑線程來執行。

最后,使用 shutdown() 方法關閉線程池,以確保所有任務都已完成。

以下是一個完整的示例代碼:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 創建一個固定大小為 5 的線程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 向線程池提交 10 個任務
for (int i = 0; i < 10; i++) {
Runnable task = new MyTask(i);
executor.submit(task);
}
// 關閉線程池
executor.shutdown();
}
}
class MyTask implements Runnable {
private int taskId;
public MyTask(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task ID : " + taskId + " executed by " + Thread.currentThread().getName());
}
}

上述代碼創建了一個固定大小為 5 的線程池,然后向線程池提交 10 個任務(MyTask 類的實例),每個任務都會在一個空閑線程中執行。輸出結果類似于:

Task ID : 0 executed by pool-1-thread-1
Task ID : 1 executed by pool-1-thread-2
Task ID : 2 executed by pool-1-thread-3
Task ID : 3 executed by pool-1-thread-4
Task ID : 4 executed by pool-1-thread-5
Task ID : 5 executed by pool-1-thread-2
Task ID : 6 executed by pool-1-thread-3
Task ID : 7 executed by pool-1-thread-1
Task ID : 8 executed by pool-1-thread-4
Task ID : 9 executed by pool-1-thread-5

這表明任務在不同的線程中并行執行。

0
通州区| 嵊泗县| 黎城县| 门头沟区| 高碑店市| 拜泉县| 韶关市| 胶州市| 呼玛县| 新巴尔虎右旗| 东安县| 龙岩市| 虞城县| 镇赉县| 抚宁县| 枝江市| 子洲县| 云和县| 同仁县| 辽中县| 永城市| 资阳市| 清河县| 明水县| 政和县| 渝北区| 阳朔县| 兴义市| 鄂温| 堆龙德庆县| 平谷区| 石嘴山市| 阳原县| 辽源市| 离岛区| 尉犁县| 泸西县| 广饶县| 分宜县| 囊谦县| 鄱阳县|