关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择
来源:互联网 发布:淘宝网卖什么比较畅销 编辑:程序博客网 时间:2024/05/19 23:54
synchronized和ReetrantLock的区别
synchronized是java的内置锁,相对于ReetrantLock使用更加方便,如果实现自己的Lock,可以继承ReetrantLock来实现,在性能上,两个差异不是特别大。ReetrantLock仅仅高一点。
ReetrantReadWriteLock和上面两个相比,性能优越主要体现在读方面,因为多个线程同时读的时候是共享锁,所以多个线程可以同时进行读操作。如果读操作是简单的读取一个变量的值,那么性能和synchronized以及ReetrantLock相比几乎一样,但是如果读操作是一个相对比较费时的操作,那么优势就会非常明显。
结论
- 当读写频率几乎相等,而且不需要特殊需求的时候,优先考虑synchronized
- 当需要定制我们自己的lock的时候,或者需要更多的功能(类似定时锁、可中断锁等待),我们使用ReetrantLock
- 当很少的写操作,更多的读操作,并且读操作是一个相对耗时的操作,那么就是用ReetrantReadWriteLock
0 0
- 关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择
- ReetrantLock Synchronized Atomic的性能对比
- 理解java的ReetrantLock
- Java中ReetrantLock与Synchronized对比
- ReentrantReadWriteLock & ReentrantLock & Synchronized 区别
- 比较ReentrantReadWriteLock和synchronized
- java多线程基础---synchronized与ReentrantReadWriteLock的介绍和比较
- Java多线程synchronized、ReentrantLock、ReentrantReadWriteLock 和StampedLock 的对比
- ReadWriteLock和ReetrantLock的区别
- ReentrantReadWriteLock 与 synchronized 性能差别
- Synchronized与ReentrantReadWriteLock性能比较
- 关于ReentrantReadWriteLock小实例
- Lock和synchronized的选择
- Android并发编程之如何使用ReentrantReadWriteLock替代synchronized来提高程序的效率
- Android并发编程之如何使用ReentrantReadWriteLock替代synchronized来提高程序的效率
- 关于 synchronized 的使用
- 关于synchronized的测试
- 关于synchronized的解释
- 构造型模式之Abstract Factory(抽象工厂)模式
- js图片自适应宽高
- 线索化二叉树--节点空指针实现过程
- 获取当前activity的屏幕截图
- svd(奇异值分解)
- 关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择
- windows tips cmd提示符下 日期及文件压缩 脚本
- libevent - 一个奇怪的问题
- cocos-Lua07帧动画&骨骼动画
- js 取checkbox中 多个被选中的值
- 跟我学Spring3--注解实现Bean依赖注入
- android系统架构分析
- 栈-Min Stack(实现一个栈,用常数级时间找出栈中的最小值)
- widgets之RatingBar