锁专题(1)java 常见锁介绍,高级程序员必知必会( 四 )
java.util.concurrent.locks.ReadWriteLock 接口允许一次读取多个线程 , 但一次只能写入一个线程:
读锁 - 如果没有线程锁定ReadWriteLock进行写入 , 则多线程可以访问读锁 。
写锁 - 如果没有线程正在读或写 , 那么一个线程可以访问写锁 。
其中:
读取锁允许多个reader线程同时持有 , 而写入锁最多只能有一个 writer 线程持有 。
读写锁的使用场合是:读取数据的频率远大于修改共享数据的频率 。
在上述场合下使用读写锁控制共享资源的访问 , 可以提高并发性能 。
如果一个线程已经持有了写入锁 , 则可以再持有读锁 。
相反 , 如果一个线程已经持有了读取锁 , 则在释放该读取锁之前 , 不能再持有写入锁 。
可以调用写入锁的 newCondition() 方法获取与该写入锁绑定的 Condition 对象 , 此时与普通的互斥锁并没有什么区别 , 但是调用读取锁的 newCondition() 方法将抛出异常 。
小结本文作为锁专题系列的开篇 , 旨在为了让各位极客们对 java 中的锁有一个大而全的理解 。
希望对你有帮助 , 感兴趣的可以关注一下 , 便于实时接收最新内容 。
觉得本文对你有帮助的话 , 欢迎点赞评论收藏转发一波 。
各位极客的点赞转发收藏 , 是我创作的最大动力~
不知道你有哪些收获呢?或者有其他更多的想法 , 欢迎留言区和我一起讨论 , 期待与你的思考相遇 。
- 现状|程序员现状揭秘:平均年薪20.36万,Java人才需求量最大
- 苹果|iPhone13迎来变化!或回归指纹解锁,这几点备受用户喜爱
- 自动任务|赶在三星 S21 发布之前实现语音解锁
- 线下连锁商|暴涨130%!荷兰、西班牙、比利时百年商超在考拉海购逆势增长
- 长安街|北京 长安街西城段将来单车无法落锁
- 程序员学英语第1天——JavaScript 程序测试的介绍1
- 三年Java开发,刚从美团、京东、阿里面试归来,分享个人面经
- 《深入理解Java虚拟机》:对象创建、布局和访问全过程
- 现场|逛展看未来丨展会现场还能这么玩?带你解锁萌娃的逛展“姿势”
- iPhone13迎来变化!或回归指纹解锁,这几点备受用户喜爱