synchronized--交替打印

public class TwoThreadSynchronized {

private int    start =1;

    private boolean flag  =false;

    public static void main(String[] args) {

TwoThreadSynchronized twoThreadWaitNotify =new TwoThreadSynchronized();

        Thread t1 =new Thread(new OuNum(twoThreadWaitNotify));

        t1.setName("t1");

        Thread t2 =new Thread(new JiNum(twoThreadWaitNotify));

        t2.setName("t2");

        t1.start();

        t2.start();

    }

public static class OuNumimplements Runnable {

TwoThreadSynchronizednumber;

        public OuNum(TwoThreadSynchronized twoThreadWaitNotify) {

this.number = twoThreadWaitNotify;

        }

@Override

        public void run() {

while (number.start <=100) {

synchronized (TwoThreadSynchronized.class) {

System.out.println("偶数抢到锁了");

                    if (number.flag) {

System.out.println("number:" +number.start);

                        number.start++;

                        number.flag =true;

                        TwoThreadSynchronized.class.notify();

                    }else {

try {

TwoThreadSynchronized.class.wait();

                        }catch (InterruptedException e) {

e.printStackTrace();

                        }

}

}

}

}

}

public static class JiNumimplements Runnable {

TwoThreadSynchronizednumber;

        public JiNum(TwoThreadSynchronized number) {

this.number = number;

        }

@Override

        public void run() {

while (number.start <=100) {

synchronized (TwoThreadSynchronized.class) {

System.out.println("奇数抢到了");

                    if (!number.flag) {

System.out.println("number:" +number.start);

                        number.start++;

                        number.flag =true;

                        TwoThreadSynchronized.class.notify();

                    }else {

try {

TwoThreadSynchronized.class.wait();

                        }catch (InterruptedException e) {

e.printStackTrace();

                        }

}

}

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Object类位于java.lang包中,java.lang包有最基础的和核心的类,在编译时会自动导入; Obje...
    遇见你的故事阅读 3,890评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,499评论 18 399
  • 你和你看不清的未来,未知迅速地充斥着大脑,恐惧让你逐渐自我麻痹固步自封。 美国著名的演讲中说到二十岁到三十岁是重塑...
    LUFFY悦阅读 1,517评论 0 1
  • 这本书断断续续的读了好几天,也是从看到它的第一眼决定要试一试,刚开始觉得非常简单,不就是不抱怨嘛,有什么的,平时就...
    毛大毛的阅读笔记阅读 2,817评论 0 3
  • 1 阳光不要太好。 每天七点送完作业从三楼办公室溜回一楼看见日出的我日常胡思乱想。 今天作业送的挺早的吧,会不会碰...
    荼绫绫阅读 3,025评论 0 0

友情链接更多精彩内容