您的位置:首页 > 编程语言

并发编程--使用读写锁实现同步数据访问

2014-09-01 20:53 429 查看
锁机制最大的改进之一就是ReadWriteLock接口和它的唯一实现类ReentrantReadWriteLock。这个类有两个锁,一个是读操作锁,另一个是写操作锁。使用读操作锁可以允许多个线程同时访问锁内部的内容,但是使用写操作锁只允许一个线程进行。在一个线程执行写操作时,其他线程不能执行读操作。创建锁时还可以加上一个boolean参数,让等待越久的线程越早执行,保证锁的公平性。

下面通过一个银行账号存取钱的例子来看看读写锁的有趣之处







查看一下程序的运行结果:



看来这个结果不出乎我们的预料,首先写线程开始执行时,读线程不能执行,只有当写线程执行完才能执行,写线程执行完账号里的money编程1100,读线程可以同时运行,读出账号里的钱1100。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  读写 线程