2022-02-07 ThreadAlternateDemo

一、说明:

经典的线程交互的例子

二、代码:

public class TestThreadAlternate {

    public static void main(String[] args) throws IllegalAccessException, InstantiationException {
        ThreadAlternateDemo.class.newInstance().exec();
    }
}

/**
 * 经典的线程交互的例子
 */
class ThreadAlternateDemo {

    Object lock = new Object();

    char[] arrayInt = "1234567890".toCharArray();
    char[] arrayChar = "abcdefghij".toCharArray();

    public void exec() {

        new Thread(() -> {
            synchronized (lock) {
                for (char c : arrayInt) {
                    try {
                        lock.notify();
                        lock.wait();  // 让出锁
                        System.out.print(c);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

                lock.notify();
            }
        }, "t1").start();


        new Thread(() -> {
            synchronized (lock) {
                for (char c : arrayChar) {
                    try {
                        System.out.print(c);
                        lock.notify();
                        lock.wait();  // 让出锁
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                lock.notify();
            }
        }, "t2").start();

    }

}

三、运行结果:

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为什么运用“微习惯”策略可以成功帮你养成好习惯 《微习惯》的作者是斯蒂芬·盖斯,作者就是靠运用微习惯策略养成健身的...
    阿哲陪你读书阅读 147评论 0 0
  • 春节上班第一天,第一个感觉是太棒了,终于回归健康生活了,规律作息,规律饮食。 经过又一次的实践,再次证明:我并不是...
    如月公子阅读 557评论 0 1
  • PLOS Digital Health | AI通过电子病历检测心血管疾病风险 原创图灵基因图灵基因2022-02...
    图灵基因阅读 159评论 0 0
  • 女足当然很棒,男足当然很烂。 但拿女足和男足比的,你不光平常不看女足,应该也不怎么看足球。 去年的东京奥运会,亚洲...
    一叶知霜阅读 541评论 0 0
  • 2022年3月彩虹医疗器械维修培训开班报名啦 有这么一群可爱的人 你们素未谋面 却在很多个夜晚感受到他们的真诚 疫...
    西安彩虹医疗维修培训阅读 242评论 0 0