ReentrantLock
2016-03-23 14:34
423 查看
ReentrantLock
1. ReentrantLock lock.lock(); lock.unlock();
相当于synchronized语句块
lock.tryLock() 如果锁已经被保持了的话就直接跳过,不阻塞吧
2.Condition condition = lock.newCondition();
condition.await();//必须卸载lock.lock();和lock.unlock();之间;
condition.singnalAll()
conditionA = lock.newCondition();
conditionB = lock.newCondition();
conditionA.singnal()
condition.awaitUninterruptibly() 不允许中断
condition.awaituntil(time);
3.公平锁、非公平锁
new ReentrantLock(true); //公平锁
new ReentrantLock(true); //非公平锁 默认
4.ReentrantReadWriteLock类
读锁:lock.readlock.lock();
写锁:lock.writelock.lock();
读读共享
写写互斥
读写互斥
写读互斥
1. ReentrantLock lock.lock(); lock.unlock();
相当于synchronized语句块
lock.tryLock() 如果锁已经被保持了的话就直接跳过,不阻塞吧
2.Condition condition = lock.newCondition();
condition.await();//必须卸载lock.lock();和lock.unlock();之间;
condition.singnalAll()
conditionA = lock.newCondition();
conditionB = lock.newCondition();
conditionA.singnal()
condition.awaitUninterruptibly() 不允许中断
condition.awaituntil(time);
3.公平锁、非公平锁
new ReentrantLock(true); //公平锁
new ReentrantLock(true); //非公平锁 默认
4.ReentrantReadWriteLock类
读锁:lock.readlock.lock();
写锁:lock.writelock.lock();
读读共享
写写互斥
读写互斥
写读互斥
相关文章推荐
- spring3.1以上利用 ehcache进行注解配置缓存不起作用的原因
- jQuery.serialize() 函数详解
- POJ 2236 Wireless Network
- 浅谈MySQL数据库查询优化
- DB2 查看历史备份信息
- android知识点汇总
- mybatis在spring中使用批量插入
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- struts2 切换jar包版本的时候,idea造成jar包重复...导致错误
- bzoj 1458 士兵占领(最大流)
- #8号板测试汇总
- Hive取非Group by字段数据的方法
- leetcode--Best Time to Buy and Sell Stock
- Fragment详解(四)Fragment生命周期
- Android 截屏并保存
- Android安全专项-Apk加固
- Shell编程(四)---echo、printf
- 基于TestNG 与Selenium 的自动化测试设计与实施(二)
- css line-height:150%和1.5的不同之处
- 总结下并行和并发的差异