← 返回首页
sync.Map 适用的场景?
sync.Map适合读多写少的场景,而不是和写多读少的场景。
因为我们期望将更多的流量在read map这一层进行拦截,从而避免加锁访问dirty map。
对于更新,删除,读取,read map可以尽量通过一些原子操作,让整个操作变得无锁化,这样就可以避免进一步加锁访问dirty map。
倘若写操作过多,sync.Map 基本等价于一把互斥锁 + map,其读写效率会大大下降。