java ReentrantReadWriteLock
来源:互联网 发布:力学分析软件 编辑:程序博客网 时间:2024/06/07 06:32
ReentrantReadWriteLock是java读写锁的实现。
读写锁的作用,当发现程序大部分时间是进行读操作,而只有个别时间需要进行写操作。
这时候使用读写锁在保证多线程安全基础上,对性能是有帮助提升的。
读锁可以重入,多线程不发生互斥,可以同时进行读取操作。
写锁,能保证当前只有一个线程获取到写锁,此时读锁和写锁的获取的线程都会被阻塞,(同样能够获得写锁也意味着当前没有读锁和写锁被其他线程获取到。)
而如果在这种场景下使用普通锁,即正常的读写互斥,那么这会导致,大多数的读场景,均是线程间串行执行代码,这样可想而之,性能会下降。
一般使用方式:
ReadWriteLock lock = new ReentrantReadWriteLock();
lock.readLock().lock();
try {
} finally {
lock.readLock().unlock();
}
注:如果本身的临界区的耗时极短(如微妙),那么将synchronized更改为读写锁,其实不会太多的性能帮助,因此1ms内能顺序处理足够多的线程了,不会成为瓶颈
0 0
- java ReentrantReadWriteLock
- Technique Java. ReentrantReadWriteLock
- java 多线程 ReentrantReadWriteLock 使用
- Java多线程之ReentrantReadWriteLock
- Java ReentrantLock和ReentrantReadWriteLock
- 【Java多线程】ReentrantReadWriteLock
- Java并发之ReentrantReadWriteLock
- java并发中的ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- ReentrantReadWriteLock
- MySQL 主要的全局参数
- php xfocus防注入资料
- android studio 调试时出现Error while Launching activity
- Json:Javabean、list、map转化为json案例
- java学习笔记--封装的注意点
- java ReentrantReadWriteLock
- DatePicker 控件在5.0以上版本 焦点释放问题 手动输入点击确定按钮不能正确获取到日期优化
- doxygen问题集锦
- Activity完全解析
- 基站,小区,扇区,载频之间的关系
- 仿QQ头像自定义截取功能
- 算法导论-排序-快速排序
- 搭建最简单的实时数据平台kafka-->storm
- 成熟的项目管理系统