(); // Unlock write, still hold read rwl.readLock().unlock();为什么我们必须在获取评论中所写的写锁之前释放读锁如果当前线程持有读锁,则应允许它在其他线程不再读取时获取写锁,而不管当前线程是否也持有读锁。这是我所期望的行为。我预计第5行和第6行的锁升级和第14行和第15行的<e
我很好奇:假设SQL Server (或任何其他数据库管理系统)在一个表上接收大量读取流量,那么在任何时候,至少都会请求一个读锁(并且可能被授予)。现在假设出现了一个写锁请求。
写锁有发过吗?还是只要没有授予写锁,就会始终授予读锁,这样写锁就永远不会被授予?锁请求是否按它们到达的顺序送达?或者写锁是在某个时间点发出的,很难通过更