两个线程交替打印1-99

参考https://github.com/crossoverJie/JCSprout/blob/master/src/main/java/com/crossoverjie/actual/TwoThread.java从线程方面实现交替打印。

public class Test {
    volatile boolean isEven = false;
    @org.junit.Test
    public void testfda() throws InterruptedException {
        Thread a = new Thread(new OddThread(), "thread-1");
        Thread b = new Thread(new EvenThread(), "thread-2");
        a.start();
        b.start();
        Thread.sleep(5000);
    }

    

    class OddThread implements Runnable {

        @Override
        public void run() {
            int i = 1;
            while (i < 100) {
                if (!isEven) {
                    System.err.println(Thread.currentThread().getName() + ":" + i);
                    i = i + 2;
                    isEven = true;
                }
            }
        }
    }

    class EvenThread implements Runnable {

        @Override
        public void run() {
            int i = 2;
            while (i < 100) {
                if (isEven) {
                    System.err.println(Thread.currentThread().getName() + ":" + i);
                    i = i + 2;
                    isEven = false;

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

推荐阅读更多精彩内容

  • 一杯本来清澈的水,不停地摇晃,它不会清澈;一杯浑浊的水,不去摇晃它,会自然清澈。心亦如此,如总摇晃不停,就会处于混...
    sunshine_778阅读 1,495评论 1 0
  • 1. DOM0时代html和js的那些事儿 2. DOM2 1. 监听事件 若想让事件被点一次后就取消监听,可以将...
    彭奕泽阅读 1,410评论 0 0