面试题答案
一键面试- 读优先级体现:
- 在多个读操作和少量写操作交替进行的场景下,当有读操作正在进行时,后续的读操作可以继续进入临界区执行,而写操作会被阻塞,直到所有读操作完成。这就使得读操作能够连续执行,体现了读优先级。
- 原因:
RWMutex
内部维护了一个读锁计数器和一个写锁标志。读锁可以被多个读操作同时持有,只要写锁未被获取,读锁就可以不断增加持有计数,允许更多读操作进入。而写锁需要独占资源,只有当读锁计数为0(即没有读操作在进行)时,写锁才能被获取,所以在多个读操作存在时,写操作会被延迟,从而体现读优先级。