目录
一、Condition接口的理解
- 一、Condition接口的理解
- 二、Condition接口结构及常用方法
- 三、使用Object类中的wait()、notifyAll()实现多个线程按顺序执行示例
- 四、使用Condition接口中的await()、signal()现多个线程按顺序执行示例
- Condition是个接口,基本的方法就是await()和signal()方法;
- Condition用来替代传统的Object的wait()、notify()实现线程间的协作。相比使用Object的wait()、notify(),使用Condition的await()、signal()这种方式实现线程间协作更加安全和高效; - Condition对象是依赖于lock对象的,也就是说condition对象需要通过lock对象进行创建出来; 调用Condition的await()和signal()方法,都必须在lock保护之内,就是说必须在lock.lock()和lock.unlock之间才可以使用。
- await() :造成当前线程在接到信号或被中断之前一直处于等待状态。
- awaitUninterruptibly() :造成当前线程在接到信号之前一直处于等待状态。【注意:该方法对中断不敏感】。
- awaitNanos(long nanosTimeout) :造成当前线程在接到信号、被中断或到达指定等待时间之前一直处于等待状态。返回值表示剩余时间,如果在nanosTimesout之前唤醒,那么返回值 = nanosTimeout - 消耗时间,如果返回值
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?