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即可恢复执行。
希望能够帮助到大家。
长沙网络推广
- 人工智能十大算法 人工智能十大算法遗传算法
- 科学的三个本质特征
- ai人工智能是什么行业 ai人工智能是什么东西_
- 科学的三个本质特征 科学的本质有哪些
- 100个有趣的科学小实验 有趣味的科学小实验
- icp备案查询官网 icp许可证办理官网
- 科学的三要素是什么 科学的三要素及其内容
- 简单科学小实验 简单科学小实验视频
- ai人工智能的好处 ai人工智能的好处及生活应用
- 科学的简单定义 科学的定义及其三个属性
- 100个有趣的科学问题 100个科学小问题
- 人工智能技术有哪些 人工智能技术有哪些新的科
- 人工智能包括几个方面 人工智能包括哪些方面内
- 科学概念名词解释 名次解释科学
- 镇江高防服务器 镇江高防服务器价格
- 云服务器出租 云服务器gpu租用