猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
go map结构是线程安全的吗?
Go map类型的线程安全吗?我有一个程序,其中有许多goroutine可以读写地图类型。如果我需要实施保护机制,什么是最好的方法?
守着星空守着你
浏览 381
回答 2
2回答
小唯快跑啊
您需要使用goroutines并通过channel同步对地图的访问。常见问题解答中的说明:经过长时间的讨论,人们决定使用地图的典型用法不需要从多个线程进行安全访问,并且在这种情况下,地图可能是某些已经同步的较大数据结构或计算的一部分。因此,要求所有映射操作都获取互斥量将减慢大多数程序的速度,并增加少数程序的安全性。但是,这并不是一个容易的决定,因为这意味着不受控制的地图访问可能会使程序崩溃。该语言不排除原子图更新。在需要时(例如在托管不受信任的程序时),实现可以互锁地图访问。
0
0
0
阿晨1998
从1.9开始,最好的方法是使用sync.Map类型。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Go
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续