java condition

java condition是怎样的呢?下面就让我们一起来了解一下吧:

condition 介绍

Condition是在java1.5中才出现的,它主要是用来替代传统的Object的wait()、notify()实现线程间的协作,相比较使用Object的wait()、notify(),使用Condition的await()、signal()这种方式实现线程间协作会更加安全与高效。

因此一般情况下是比较推荐使用Condition的,并且阻塞队列实际上也就是使用了Condition来模拟线程间的协作。

Condition其实就是个接口,基本的方法就是await()与signal()方法;

Condition比较依赖于Lock接口,生成一个Condition的基本代码,即lock.newCondition()。

若是想要调用Condition的await()和signal()方法,都必须要在lock保护之内,也就是说必须要在lock.lock()和lock.unlock之间才能够使用的。

说明:

1、condition中的await()对应Object的wait();

2、Condition中的signal()对应Object的notify();

3、Condition中的signalAll()对应Object的notifyAll()。

需要注意的是,Condition的执行方式,是当在线程Consumer中调用await方法后,线程Consumer将会释放锁,并且将自己沉睡,等待被唤醒,线程Producer获取到锁之后,就会开始运行,完毕后,会调用Condition的signalall方法,唤醒线程Consumer,线程Consumer即可恢复执行。

标签:condition java

免责声明:本内容来自橡树街平台创作者或收集于互联网公开资源,不代表橡树街网的观点和立场。如有侵权内容,请联系我们删除。联系邮箱:ihuangque@qq.com
相关推荐
Java认证可以挂靠吗
2022-08-05
Java认证可以挂靠吗
javascript function
2022-08-05
javascript function
java都学什么
2022-08-05
java都学什么
java开发工程师做什么
2022-08-05
java开发工程师做什么
java开发工程师学什么
2022-08-05
java开发工程师学什么
java有些什么课程
2022-08-05
java有些什么课程
Java认证考试流程
2022-08-05
Java认证考试流程
java web开发看什么书
2022-08-05
java web开发看什么书
Java开发工程师是什么
2022-08-05
Java开发工程师是什么
JAVA主要是做什么
2022-08-05
JAVA主要是做什么
手机老是弹出广告怎么解决
2022-08-05
手机老是弹出广告怎么解决
小爱同学怎么判断我喜欢的人喜不喜欢我
2022-08-05
小爱同学怎么判断我喜欢的人喜不喜欢我
安卓手机如何打开.kmz文件
2022-08-05
安卓手机如何打开.kmz文件
苹果手机文件管理在哪里
2022-08-05
苹果手机文件管理在哪里
安卓手机如何打开.sav文件
2022-08-05
安卓手机如何打开.sav文件
结绿珍月季优缺点
2022-07-29
结绿珍月季优缺点
旺铺通是什么
2022-07-29
旺铺通是什么
慕斯女孩是什么牌子
2022-07-29
慕斯女孩是什么牌子
教师请长假要向教育局哪个部门请假
2022-07-29
教师请长假要向教育局哪个部门请假
疫情四史指的是什么
2022-07-29
疫情四史指的是什么
375px等于多少厘米
2022-07-29
375px等于多少厘米
嫁美夫是什么意思
2022-07-29
嫁美夫是什么意思
赵尚武与张铁成是在哪个电视剧里
2022-07-29
赵尚武与张铁成是在哪个电视剧里
摇粒绒和海岛绒哪个保暖好
2022-07-29
摇粒绒和海岛绒哪个保暖好
天上倒雪碧是什么意思
2022-07-29
天上倒雪碧是什么意思