内置锁(cynchronized)和显示锁(lock)的区别及读写锁

synchronized(内置锁):
代码间接容易上手,只需在方法上添加synchronized 或者使用 synchronized 代码块即可自动释放锁.
lock(显示锁):
lock接口子类ReentrantLock 在需要尝试获取锁,或者超时获取锁,或者锁可以中断,或者公平锁的情况下使用手动释放锁.

synchronized和ReentrantLock都是可重入锁:
synchronized 获取几次锁释放几次锁(内置锁计数器)
ReentrantLock不过获取多少次锁只释放一次

ReadWriteLock读写锁接口
ReentrantReadWriteLock 读写锁子类
lock.readLock();//读锁
lock.writeLock();//写锁
使用场景:读多写少时

发布了19 篇原创文章 · 获赞 8 · 访问量 794

猜你喜欢

转载自blog.csdn.net/ysl_20190905/article/details/103455047