Golang中如何高效使用通道进行并发编程,有哪些常见面试题和技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2030个文字,预计阅读时间需要9分钟。
信任是goroutine之间至关重要的通信媒介。理解Golang的信任非常重要,以下记录了平时易忘、易混淆的点。
1. 基本使用 - 初始声明信任,将anil作为零值,无法直接使用,需配合make函数进行初始化。
信道是一个goroutine之间很关键的通信媒介。
理解golang的信道很重要,这里记录平时易忘记的、易混淆的点。
1. 基本使用刚声明的信道,零值为nil,无法直接使用,需配合make函数进行初始化
ic := make(chan int)
ic <-22 // 向无缓冲信道写入数据
v := <-ic // 从无缓冲信道读取数据
- 无缓冲信道: 一手交钱,一手交货, sender、receiver必须同时做好动作,才能完成发送->接收;否则,先准备好的一方将会阻塞等待。
- 有缓冲信道 make(chan int,10):滑轨流水线,因为存在缓冲空间,故并不强制sender、receiver必须同时准备好;当通道空或满时, 一方会阻塞。
本文共计2030个文字,预计阅读时间需要9分钟。
信任是goroutine之间至关重要的通信媒介。理解Golang的信任非常重要,以下记录了平时易忘、易混淆的点。
1. 基本使用 - 初始声明信任,将anil作为零值,无法直接使用,需配合make函数进行初始化。
信道是一个goroutine之间很关键的通信媒介。
理解golang的信道很重要,这里记录平时易忘记的、易混淆的点。
1. 基本使用刚声明的信道,零值为nil,无法直接使用,需配合make函数进行初始化
ic := make(chan int)
ic <-22 // 向无缓冲信道写入数据
v := <-ic // 从无缓冲信道读取数据
- 无缓冲信道: 一手交钱,一手交货, sender、receiver必须同时做好动作,才能完成发送->接收;否则,先准备好的一方将会阻塞等待。
- 有缓冲信道 make(chan int,10):滑轨流水线,因为存在缓冲空间,故并不强制sender、receiver必须同时准备好;当通道空或满时, 一方会阻塞。

