GO并发编程基础- 如何使用channel

发布时间:2022-10-03 19:30

一、channel 入门

1. 什么是 channel

通道,顾名思义,使用来传递数据信号的,和队列类似,有发送端和接收端,也是先进先出的数据结构,通常是在不同的 goroutine 做通信处理,结合 select ,是 GO 并发编程中的武功秘籍

2. channel 的分类

channel 有两种类型,有缓存的channel 和无缓存的channel。
无缓冲 channel 的运行时层实现不带有缓冲区,所以 Goroutine 对无缓冲 channel 的接收和发送操作是同步的。也就是说,对同一个无缓冲 channel,只有对它进行接收操作的 Goroutine 和对它进行发送操作的 Goroutine 都存在的情况下,通信才能得以进行,否则单方面的操作会让对应的 Goroutine 陷入挂起状态

3. channel 的使用

3.1 创建一个channel
  • 无缓存的 channel

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号