面试题答案
一键面试- 写饥饿现象产生原因:
- 读锁优先特性:
RWMutex
允许多个读操作同时进行,而写操作需要独占锁。当读操作频繁发生时,由于读锁可以同时被多个读操作获取,写操作就很难获取到锁。 - 读锁未释放场景:如果读操作持有读锁的时间较长,或者读操作不断地被添加到等待队列中,那么写操作就会一直处于等待状态,从而导致写饥饿。例如,在一个高并发的读取数据场景中,读操作持续不断,写操作就很难有机会获取到锁进行数据更新。
- 读锁优先特性:
RWMutex
允许多个读操作同时进行,而写操作需要独占锁。当读操作频繁发生时,由于读锁可以同时被多个读操作获取,写操作就很难获取到锁。