channel是否线程安全等

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

题目序号:(6632)

题目来源:有色

频次:1

答案1:(peace)

  • channel为什么设计成线程安全?
    不同协程通过channel进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全。
  • channel如何实现线程安全的?
    channel的底层实现中, hchan结构体中采用Mutex锁来保证数据读写安全。在对循环数组buf中的数据进行入队和出队操作时,必须先获取互斥锁,才能操作channel数据。
本文来自投稿,不代表本站立场,如若转载,请注明出处:
Golang Map 如何扩容
« 上一篇 09-17
go什么场景使用接口
下一篇 » 09-17

发表评论

发表评论