Java并发
来源:互联网 发布:asp淘宝客源码 编辑:程序博客网 时间:2024/06/13 12:18
LockSupport工具
提供的方法void park():阻塞当前线程,如果调用unpark()或者当前线程被中断,才能从park()方法中返回
void park(long nanos):阻塞当前线程最多nanos纳秒
void parkUntil(long deadline):阻塞当前线程知道deadline
void unpark(Thread thread):唤醒处于等待状态的线程thread
Condition接口
任意一个java对象,都有一组监视器方法(定义于Object对象上),如wait(),notify(),notifyAll(),与synchronized关键字配合,可以实现等待/通知模式。
提供的方法
void await():当前线程进入等待状态直到被通知或中断,当前线程进入运行状态且从await()返回的条件是:(1)其它线程调用该condition的signal()或signalAll()方法,而当前线程被选中唤醒;(2)其它线程(调用interrupt())中断该线程;(3)如果当前线程从await()返回,说明其获得了condition对象的锁。
void signal():唤醒一个等待在condition上的线程,该线程从await()返回时必须获得该condition的锁
void signalAll():唤醒所有等待在condition上的线程,能够返回的线程必须获得condition的锁
condition对象如何创建
调用Lock方法的newCondition(),如
Lock lock = new ReentrantLock();Condition condition = lock.newCondition();
分别新建2个condition对象。如果队列已满,则阻塞当前插入线程,否则插入元素,且唤醒一个获取线程;如果队列已空,则阻塞当前获取线程,否则获取元素,并唤醒一个插入线程。调用condition的方法时必须获取对象的锁。
- java并发--并发集合
- Java 并发:并发背景
- Java 并发:并发背景
- java 并发
- Java并发
- Java并发
- Java并发
- java 并发
- Java 并发
- Java 并发
- Java并发
- java 并发
- Java 并发
- java并发
- Java 并发
- java并发
- [Java]并发
- Java 并发
- Kali Linux GRUB2引导修复
- 【SpringMVC】自定义拦截器
- 让C程序更有效的十种方法
- ios-矩形-圆角矩形-椭圆-圆形的绘制
- python cmath的用法
- Java并发
- 互斥锁和条件变量的结合使用
- VUE快速入门心得——render函数
- 多线程共享资源
- uva 10074 Take the Land
- 洛谷1006 传纸条
- liunx 优化及性能调优
- mysql
- 剑指offer面试题目:数组中只出现一次的数字