Java教程

Java并发之Condition接口

本文主要是介绍Java并发之Condition接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • `Condition` 接口简介

Condition 接口简介

任意一个 Java 对象都拥有一组监视器方法(定义在 java.lang.Object 上),主要包括 wait()、wait(long timeout)、notify() 以及 notifyAll() 方法,这些方法与 synchronized 同步关键字配合,可以实现线程之间的等待,通知(通信)

Condition 接口也提供了类似 Object 的监视器方法,与 Lock 配合也可以实现线程之间的等待,通知(通信),但是这两者在使用方式以及功能特性上还是有差别的

对比 Object 的监视器方法和 Condition 接口

对比项Object 监视器方法Condition
前置条件获取对象的锁 1.调用Lock.lock()获取 2.调用Lock.newCondition()获取Condition对象
调用方式直接调用,如object.wait()直接调用,如condition.await()
等待队列个数一个多个
当前线程释放锁并进入等待状态支持支持
当前线程释放锁并进入等待状态,在等待状态中不响应终端不支持支持
当前线程释放锁并进入超时等待状态支持支持
当前线程释放锁并进入等待状态到将来的某个时间不支持支持
唤醒等待队列中的一个线程支持支持
唤醒等待队列中的全部线程支持支持
这篇关于Java并发之Condition接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!