安全
为什么 Go map 和 slice 是非线程安全的?
Posts on 煎é±0 次浏览
大家好,我是煎鱼。 初入 Go 语言的大门,有不少的小伙伴会快速的 3 天精通 Go,5 天上手项目,14 天上线业务迭代,21 天排查、定位问题,顺带捎个反省报告。 其中最常见的初级错误,Go 面试较最爱问的问题之一: (来自读者提问) 为什么在 Go 语言里,map 和 slice 不支持并发读写,也就是是非线程安全的,为什么不支持? 见招拆招后,紧接着就会开始讨论如何让他们俩 ”冤家“ 支持并发读写? 今天我们这篇文章就来理一理,了解其前因后果,一起吸鱼学懂 Go 语言。 非线程安全的例子 slice 我们使用多个 goroutine 对类型为 slice 的变量进行操作,看看结果会变的怎么样。
原文:https://eddycjy.com/posts/go/map-slice-concurrency/