Synchronized与重入锁ReenTrantLock的区别 个人总结
2018-03-03 23:23
621 查看
Synchronized与重入锁ReenTrantLock的区别
ReenTrantLock比Synchronized多了三个功能
1. 等待可中断
在持有锁的等待线程尝试集不释放锁的时候,等待线程可以选择放弃等待
2. 公平锁按照申请锁的顺序来一次获取锁称为公平锁,但synchronized是非公平锁,ReentrantLock可以通过构造函数实现公平锁
3. 绑定多个Condition
通过多次newCondition可以获得多个Condition对象,可以简单实现比较复杂的线程同步功能
可重入性说明:
ReenTrantLock的字面意思就是再进入的锁
其实synchronize关键字所使用的也是可重入的
同步锁 原理说明
同一个线程每次进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁
ReenTrantLock比Synchronized多了三个功能
1. 等待可中断
在持有锁的等待线程尝试集不释放锁的时候,等待线程可以选择放弃等待
2. 公平锁按照申请锁的顺序来一次获取锁称为公平锁,但synchronized是非公平锁,ReentrantLock可以通过构造函数实现公平锁
3. 绑定多个Condition
通过多次newCondition可以获得多个Condition对象,可以简单实现比较复杂的线程同步功能
可重入性说明:
ReenTrantLock的字面意思就是再进入的锁
其实synchronize关键字所使用的也是可重入的
同步锁 原理说明
同一个线程每次进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁
相关文章推荐
- synchronized和ReentrantLock的区别总结
- ReenTrantLock可重入锁(和synchronized的区别)总结
- ReenTrantLock可重入锁(和synchronized的区别)总结 ReenTrantLock可重入锁(和synchronized的区别)总结
- ReenTrantLock可重入锁(和synchronized的区别)总结
- ReenTrantLock可重入锁(和synchronized的区别)总结
- Java多线程总结(二):理解对象锁 & synchronized和Lock的区别
- synchronized和ReentrantLock的区别
- Synchronized 与 ReentrantLock 的区别与联系
- java synchronized和(ReentrantLock)区别
- synchronized和ReentrantLock的区别
- ReentrantLock和Synchronized的区别
- synchronized和lock(reentrantlock) 区别
- JAVA的ReentrantLock与synchronized 的区别
- Synchronized和ReentrantLock的区别
- synchronized和ReentrantLock区别(转)
- synchronized 和 ReentrantLock的区别
- Synchronized与ReentrantLock的区别
- ReentrantLock和synchronized的区别随笔
- Synchronized和ReentrantLock的区别
- 【Java之并发】ReentrantLock和synchronized区别