Java并发编程—线程间协作方式wait()/notify()/notifyAll()原理分析

本文深入分析了Java并发编程中的等待通知机制wait/notify,通过实例展示了线程间的交互过程,解释了wait、notify的工作原理,包括线程状态的变化以及同步队列与等待队列的概念。强调了wait、notify的使用顺序和加锁的重要性,并提供了相关注意事项。
摘要由CSDN通过智能技术生成

原文作者:tom有了cat

原文地址:java并发编程基础之等待通知机制wait/notify原理分析

一个线程修改了一个对象的值,而另一个线程感知了变化,然后进行了相应的操作,整个过程开始于一个线程,结束于另一个线程。前者是生产者,后者是消费者,这种模式在功能层面上实现了解耦。有下面一段代码,大家可以根据执行的结果和注释很清晰的明确这个wait和notify的工作机制,wait等待释放锁。代码如下,不再做具体描述:

package juc.waitsleep;
 
/**
 * @Description   测试notify和wait机制
 * @Author DJZ-WWS
 * @Date 2019/5/15 11:44
 */
public class WaitNotify {
    static  Object lock=new Object();
    static boolean flag=true;
 
    /**
     * 整个的一个执行流程wait线程先执行,执行到wait方法进行等待,进入等待队列,这时候释放锁,主线程休眠,
     * notify线程还没有开始进行工作,主线程休眠以后notify开始工作,由于wait已经将锁释放,所以notify会握住锁,
     * 执行了notify的业务以后将wait线程唤醒&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值