Go学习 Day22 并发原语选择

122 阅读1分钟

Go内部提供了大量的并发原语,针对不同的情况需要选择不同的原语,其选择标准如下:

1)共享资源的并发访问使用传统并发原语(Linux底下的并发机制,非Go特有)
2)复杂的任务编排和消息传递使用 Channel
3)消息通知机制使用 Channel,除非只想 signal 一个 goroutine,才使用 Cond
4)简单等待所有任务的完成用 WaitGroup,Channel也可以
5)需要和 Select 语句结合,使用 Channel
6)需要和超时配合时,使用 Channel 和 Context

此文章为2月Day22学习笔记,内容来源于极客时间《Go 并发编程实战课》