中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
原平市| 钦州市| 通江县| 孝义市| 云和县| 珲春市| 色达县| 南漳县| 鹤壁市| 古交市| 四川省| 肇东市| 凯里市| 建昌县| 兴仁县| 社会| 宜都市| 宁河县| 泌阳县| 武山县| 中山市| 新营市| 文安县| 新干县| 屯昌县| 富源县| 康乐县| 安岳县| 龙州县| 安化县| 克东县| 海城市| 前郭尔| 福海县| 腾冲县| 临沭县| 屯留县| 名山县| 德化县| 布尔津县| 曲靖市|