ReadWriteLock代码示例

ReadWriteLock的契约是:

   1. 读、写都要先获得相应的锁

   2. 如果在共享数据上已经加了读锁,则其他线程可以继续加读锁,再不能加写锁;也就是说,你读时别人也可以读,但不能写

   3. 如果已经加了写锁,则其他线程不能加任何锁;也就是说,你在写时别人不能写也不能读

可见ReadWriteLock适用于读多写少的情形。

下面的代码例子是从《JAVA并发编程实践》中抄来的。注意我们一般用可重入的ReadWriteLock,即ReentrantReadWriteLock

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.