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

溫馨提示×

java兩個線程交替打印怎么實現

小億
85
2024-08-17 09:07:38
欄目: 編程語言

可以使用synchronized關鍵字和wait()、notify()方法來實現兩個線程交替打印。下面是一個示例代碼:

public class AlternatePrint {
    private static Object lock = new Object();
    private static int count = 1;
    private static int maxCount = 10;

    public static void main(String[] args) {
        Thread t1 = new Thread(() -> {
            while (count <= maxCount) {
                synchronized (lock) {
                    if (count % 2 == 1) {
                        System.out.println(Thread.currentThread().getName() + ": " + count);
                        count++;
                        lock.notify();
                    } else {
                        try {
                            lock.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        });

        Thread t2 = new Thread(() -> {
            while (count <= maxCount) {
                synchronized (lock) {
                    if (count % 2 == 0) {
                        System.out.println(Thread.currentThread().getName() + ": " + count);
                        count++;
                        lock.notify();
                    } else {
                        try {
                            lock.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        });

        t1.setName("Thread-1");
        t2.setName("Thread-2");

        t1.start();
        t2.start();
    }
}

在這個示例中,我們創建了兩個線程t1和t2,它們交替打印1到10的數字。使用synchronized關鍵字和wait()、notify()方法來確保兩個線程能夠交替執行。當一個線程打印完數字后,會調用notify()方法通知另一個線程可以執行,然后自己進入等待狀態。這樣就實現了兩個線程交替打印的效果。

0
砀山县| 开鲁县| 苍溪县| 祁门县| 望都县| 武鸣县| 本溪市| 马龙县| 辽阳县| 电白县| 隆子县| 运城市| 平阴县| 怀集县| 揭西县| 始兴县| 剑阁县| 龙州县| 盐亭县| 醴陵市| 永丰县| 葫芦岛市| 民权县| 六安市| 黑山县| 微山县| 林口县| 大洼县| 从江县| 耒阳市| 河北区| 禹州市| 渭源县| 徐州市| 通城县| 通州区| 德安县| 天等县| 韩城市| 积石山| 高唐县|