最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

java condition

来源:懂视网 责编:临意 时间:2022-01-24 09:00:26
文档

java condition

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

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即可恢复执行。

以上就是小编的分享了,希望能够帮助到大家。

文档

java condition

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

最新推荐

猜你喜欢

热门推荐

专题
Top