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

溫馨提示×

Java Thread.join如何處理線程池中的任務

小樊
82
2024-10-09 14:11:46
欄目: 編程語言

在Java中,Thread.join()方法用于等待一個線程執行完畢。如果你想在主線程中等待線程池中的某個任務執行完畢,可以使用ExecutorServicesubmit()方法提交任務,然后調用Future.get()方法等待任務完成。

下面是一個簡單的示例:

import java.util.concurrent.*;

public class ThreadPoolJoinExample {
    public static void main(String[] args) {
        // 創建一個固定大小的線程池
        ExecutorService executorService = Executors.newFixedThreadPool(3);

        // 提交任務到線程池
        Future<?> future1 = executorService.submit(() -> {
            System.out.println("Task 1 is running");
            try {
                // 模擬任務執行耗時
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("Task 1 is completed");
        });

        Future<?> future2 = executorService.submit(() -> {
            System.out.println("Task 2 is running");
            try {
                // 模擬任務執行耗時
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("Task 2 is completed");
        });

        // 等待線程池中的任務執行完畢
        try {
            future1.get();
            future2.get();
        } catch (InterruptedException | ExecutionException e) {
            e.printStackTrace();
        }

        // 關閉線程池
        executorService.shutdown();
    }
}

在這個示例中,我們創建了一個固定大小的線程池,并提交了兩個任務。通過調用future1.get()future2.get()方法,主線程會等待這兩個任務執行完畢。最后,記得關閉線程池。

0
武胜县| 汤阴县| 宽城| 昭觉县| 龙山县| 称多县| 旬阳县| 灵璧县| 黎城县| 云安县| 北辰区| 西平县| 沁水县| 湘潭市| 临沧市| 台北市| 喀喇沁旗| 分宜县| 八宿县| 华亭县| 东乌珠穆沁旗| 会同县| 乌鲁木齐县| 鄯善县| 广河县| 娱乐| 江北区| 茶陵县| 农安县| 琼结县| 长沙市| 台东县| 汕尾市| 临海市| 达尔| 淳安县| 咸阳市| 平舆县| 伊通| 婺源县| 会理县|