java 读写锁详解

发布时间:2017-1-22 11:33:36 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java 读写锁详解 ",主要涉及到java 读写锁详解 方面的内容,对于java 读写锁详解 感兴趣的同学可以参考一下。

java 读写锁详解

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt124

在java多线程中,为了提高效率有些共享资源允许同时进行多个读的操作,但只允许一个写的操作,比如一个文件,只要其内容不变可以让多个线程同时读,不必做排他的锁定,排他的锁定只有在写的时候需要,以保证别的线程不会看到数据不完整的文件。

   下面是个关于多线程读写锁的例子,我稍微做了下修改,蛮容易理解的,来至于http://www.highya.com/redirect.php?fid=113&tid=7180&goto=nextoldset。

这里模拟了这样一个场景: 在ReadWriteLockOperator对象里设置一个共享资源 shareResources 。

有3个读者(A, B, C)一直连续的从 shareResources 获取信息, 然后输出到控制台 ;有一个作者每隔60秒往shareResources 加入信息, 加信息的过程相对耗时, 在这段时间, 任何读者都不能访问 shareResources。

  写了4个类来验证这种情况,只在windows下做了测试。

  ReadTask.java       读任务

  WriteTask.java      写任务

  ReadWriteLockLogic.java     读写操作的逻辑

  ReadWriteLockTest.java      带有main方法的测试类

---------------------------------------混哥线-----------------------------------------------    

上一篇:多个相同jar存在时的引用顺序
下一篇:[Android Pro] ScrollView嵌套RecyclerView时滑动出现的卡顿

相关文章

相关评论