概述
// 写锁
public ReentrantReadWriteLock.WriteLock writeLock() { return writerLock; }
// 读锁
public ReentrantReadWriteLock.ReadLock readLock() { return readerLock; }
读写锁
(1)当前没有线程在执行读写,则可以进行写操作;
(2)当前存在线程在进行写操作,当前请求写操作的线程就是当前正在进行写操作的线程时,才能继续发起写请求;如果当前是其他线程在写,则当前线程无法请求写;
(3)当前不存在写,但是存在线程在读,则无法请求写。
当前不存在写的线程,或者当前正在写的线程就是当前请求读的线程,则可以成功请求读;如果当前存在其他线程在写,则无法请求读。
总结
留言与评论(共有 0 条评论) |