Java中的读写锁(三)

2014-11-24 03:00:30 · 作者: · 浏览: 3
将对应的ReadWriteLock对象解锁。假如在finally语句中没有调用unlockWrite(),同时有一个异常被从关键代码中抛出,这个ReadWriteLock对象就会永远保持者写操作锁定的状态。这会导致其他的调用该ReadWriteLock对象的lockRead()或lockWrite()方法的线程阻塞。只有当该ReadWriteLock被重进入时才有可能解锁,同时那个抛出异常使它锁定的线程会在之后又锁定它,然后在执行关键代码并解锁它。这是一种解锁的可能,但是为什么要等待这种情况的发生呢?直接在finally语句中调用unlockWrite()方法是一种更健壮的方案。

OK,终于翻完了。说实话笔者也已经翻的有点迷糊了,好在东西不难,只是有些名词比较拗口。想着现在还是改天写个测试用例吧,那样应该更简单易懂一点。

装载请保留出处:http://blog.csdn.net/u011638883/article/details/18605761

谢谢!!

原文地址:http://tutorials.jenkov.com/java-concurrency/read-write-locks.html