深度解密 Go 语言中的 sync.map

时间:2020-12-17 03:15:48
【文件属性】:
文件名称:深度解密 Go 语言中的 sync.map
文件大小:172KB
文件格式:PDF
更新时间:2020-12-17 03:15:48
c map nc 工作中,经常会碰到并发读写 map 而造成 panic 的情况,为什么在并发读写的时候,会 panic 呢?因为在并发读写的情况下,map 里的数据会被写乱,之后就是 Garbage in, garbage out,还不如直接 panic 了。 是什么 Go 语言原生 map 并不是线程安全的,对它进行并发读写操作的时候,需要加锁。而 sync.map 则是一种并发安全的 map,在 Go 1.9 引入。 sync.map 是线程安全的,读取,插入,删除也都保持着常数级的时间复杂度。 sync.map 的零值是有效的,并且零值是一个空的 map。在第一次使用之后,不允许被拷贝。 有什么用

网友评论