阅读背景:

Java并发面试题:三个线程轮流打印十次abc_weixin_33729196的博客

来源:互联网 

方法1:用while循环和变量实现

    static int index = 1;

    public static void main(String[] args) {
        Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    if (index > 30) {
                        break;
                    }
                    if (index % 3 == 1) {
                        System.out.println("a");
                        index++;
                    }
                }
            }
        });
        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    if (index > 30) {
                        break;
                    }
                    if (index % 3 == 2) {
                        System.out.println("b");
                        index++;
                    }
                }
            }
        });
        Thread t3 = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    if (index > 30) {
                        break;
                    }
                    if (index % 3 == 0) {
                        System.out.println("c");
                        index++;
                    }
                }
            }
        });
        t1.start();
        t2.start();
        t3.start();
    }    static int index =



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: