深入理解读写锁—ReadWriteLock源码分析.docVIP

  • 24
  • 0
  • 约1.96万字
  • 约 16页
  • 2018-06-08 发布于江西
  • 举报

深入理解读写锁—ReadWriteLock源码分析.doc

深入理解读写锁—ReadWriteLock源码分析.doc

深入理解读写锁—ReadWriteLock源码分析 ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。读锁可以在没有写锁的时候被多个线程同时持有,写锁是独占的。 所有读写锁的实现必须确保写操作对读操作的内存影响。换句话说,一个获得了读锁的线程必须能看到前一个释放的写锁所更新的内容。 读写锁比互斥锁允许对于共享数据更大程度的并发。每次只能有一个写线程,但是同时可以有多个线程并发地读数据。ReadWriteLock适用于读多写少的并发情况。 Java并发包中ReadWriteLock是一个接口,主要有两个方法,如下: public interface ReadWriteLock { /** * 返回读锁 */ Lock readLock(); /** * 返回写锁 */ Lock writeLock(); } Java并发库中ReetrantReadWriteLock实现了ReadWriteLock接口并添加了可重入的特性。 ReentrantReadWriteLock分析 特性 ReentrantReadWriteLock有如下特性: - 获取顺序 - 非公平模式(默认) 当以非公平初始化时,读锁和写锁的获取的顺序是不确定的。非公平锁主张竞争获取,可能会延缓一个或多个读或写线程,但是会

文档评论(0)

1亿VIP精品文档

相关文档