浅谈生产者消费者问题中的wait()和notify()的使用

本文详细介绍了Java中线程同步的两种关键方法:wait()和notify()。wait()使当前线程等待,并释放对象锁;notify()则唤醒等待此对象锁的线程之一。文章通过具体代码展示了这两种方法如何在synchronized块中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public synchronized WoTou pop() {
     if(index == 0) {
	    try {
		     this.wait();
	    }catch (InterruptedException e) {
		   e.printStackTrace();
		}
	}
	this.notify();
	index--;
	return arrWT[index];
}

关于notify():

void	notify()

Wakes up a single thread that is waiting on this object's monitor.

notifu()函数用来唤醒正在wait的一个线程。

this.wait():

 wait()使得访问当前对象的线程wait!且该对象必须为synchronized锁住,wait与sleep的区别为,wait时锁中的对象可以被访问,而sleep肯定不可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值