并发编程--使用读写锁实现同步数据访问
来源:互联网 发布:中修帝国主义知乎 编辑:程序博客网 时间:2024/05/21 23:31
锁机制最大的改进之一就是ReadWriteLock接口和它的唯一实现类ReentrantReadWriteLock。这个类有两个锁,一个是读操作锁,另一个是写操作锁。使用读操作锁可以允许多个线程同时访问锁内部的内容,但是使用写操作锁只允许一个线程进行。在一个线程执行写操作时,其他线程不能执行读操作。创建锁时还可以加上一个boolean参数,让等待越久的线程越早执行,保证锁的公平性。
下面通过一个银行账号存取钱的例子来看看读写锁的有趣之处
查看一下程序的运行结果:
看来这个结果不出乎我们的预料,首先写线程开始执行时,读线程不能执行,只有当写线程执行完才能执行,写线程执行完账号里的money编程1100,读线程可以同时运行,读出账号里的钱1100。
0 0
- 并发编程--使用读写锁实现同步数据访问
- Java并发编程-09-使用读写锁同步数据访问
- java并发编程实战手册第二章使用读写锁实现同步数据访问
- Java并发学习之十五——使用读写锁同步数据访问
- 并发编程--使用锁实现同步
- Java并发编程-08-使用锁实现同步
- 并发编程--使用synchronized实现同步方法
- java并发编程之线程同步基础(二)使用锁实现同步
- 并发-同步访问共享的可变数据
- FIFO队列并发同步访问 C++ 实现 ~~~
- java并发编程系列之ReadWriteLock读写锁的使用
- 并发编程三:读写锁
- 《并发编程》--12.读写锁
- Java 并发编程(五)同步锁Lock的使用
- 【JAVA 并发】一 同步访问共享的可变数据
- 并发编程--在同步代码中使用条件实现生产者消费者
- [笔记][Java7并发编程实战手册]2.2使用syncronized实现同步方法
- [笔记][Java7并发编程实战手册]2.5使用Lock实现同步一
- 关于mount nfs时-o nolock的问题
- jsp中通过超链接传输文本框的数据 然后跳转到另一个页面
- UML几种关系总结
- app store评价
- fullcalendar的使用
- 并发编程--使用读写锁实现同步数据访问
- java经典编程题(7-9)
- HDU 3726 Graph and Queries treap树
- AVD提示没有网络信号的解决办法
- string 与char* char[]之间的转换(精)
- LeetCode-Minimum Depth of Binary Tree
- HDU 4982 Goffi and Squary Partition
- Oracle安装时网络配置需求警告
- 需求网页信息采集器 58赶集 等网站信息导出 联系 QQ:15064157611