随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

 

复制代码
package Test;

public class PrintNumber {

    private int status = 1 ,cnt = 1;

    synchronized void print_odd() {
        while(cnt<100) {
            while (status == 2) {
                try {
                    this.wait();
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }

            System.out.printf("odd %d\n", cnt++);
            status = 2;
            notify();
        }
    }
    synchronized void print_even(){
        while (cnt<100){
            while (status == 1) {
                try {
                    this.wait();
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
            System.out.printf("even %d\n", cnt++);
            status = 1;
            this.notify();
        }
    }



    public static void main(String[] args) {
        PrintNumber test = new PrintNumber();

        Thread t1  = new Thread(()-> {
           test.print_odd();
        });

        Thread t2 = new Thread(()-> {
            test.print_even();
        });
        t1.start();
        t2.start();


    }
}
复制代码

 

posted on   towboat  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-11-07 kmp板子
点击右上角即可分享
微信分享提示