go的map是线程安全的吗?

本文阅读 1 分钟
首页 golang 正文

题目序号:(3493)

题目来源:字节

频次:1

答案1:(peace)

  • 线程安全:对map进行并发读写时,如果程序能正常运行并能得到预期的结果。Map默认不是并发安全的,并发读写时程序会panic。
  • map为什么不支持线程安全?和场景有关,官方认为大部分场景不需要多个协程进行并发访问,如果为小部分场景加锁实现并发访问,大部分场景将付出加锁代价(性能降低)。
  • 实现:
    1)加读写锁(map+sync.RWMutex)
    2)使用Go提供的sync.Map(内部加了锁)
本文来自投稿,不代表本站立场,如若转载,请注明出处:
Golang Map 如何扩容
« 上一篇 09-17
go什么场景使用接口
下一篇 » 09-17

发表评论

发表评论