Go-并发控制

一、数据安全性控制(data race)

  • 互斥锁 sync.Mutex
  • 读写锁 sync.RWMutex
  • 原子操作sync/atomic

二、并发gorutine行为控制

  • sync.WaitGroup(等待所有gorutine全部结束)
  • channel(可以用有缓冲队列控制gorutine的数量,可以用channel+select 实现gorutine间的消息通知)
  • Context(web场景中,树状的调用结构下,各gotutine间消息同步(退出、超时等),父context通知所有子context)
posted @ 2022-03-15 10:44  hugeQAQ  阅读(97)  评论(0编辑  收藏  举报