所有 ReadWriteLock 实现都必须保证 writeLock 操作的内存同步效果也要保持与相关 readLock 的联系。也就是说,成功获取读锁的线程会看到写入锁之前版本所做的所有更新。与互斥锁相比,读-写锁允许对共享数据进行更高级别的并发访问。从理论上讲,与互斥锁相比,使用读-写锁所允许的并发性增强将带来更大的性能提高。Reader 优先不太普遍,因为如果 reader 正如预期的那样频繁和持久,那么它将导致对于写入操作来说较长的时延。公平或者“按次序”实现也是有可能的。在 reader 处于活动状态而 writer 处于等待状态时,确定是否向请求读取锁的 reader 授予读取锁。Reader 优先会无限期地延迟 writer,而 writer 优先会减少可能的并发。之后放开这个锁。运行程序,儿子开始花钱,父母两人一直在查看花钱情况。
暂无评论