go select 使得一个 goroutine 在多个通讯操作上等待。
2024-08-26 08:43:55
select
语句使得一个 goroutine 在多个通讯操作上等待。
select
会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分支。当多个都准备好的时候,会随机选择一个。
package main
import "fmt"
func fibonacci(c, quit chan int) {
x, y := 0, 1
for {
select {
case c <- x:
x, y = y, x+y
case <-quit:
fmt.Println("quit")
return
}
}
}
func main() {
c := make(chan int)
quit := make(chan int)
go func() {
for i := 0; i < 10; i++ {
fmt.Println(<-c)
}
quit <- 0
}()
fibonacci(c, quit)
}
go语言开发交流qq群 857263711
保持进步
希望每个人都能找到自己喜欢的方式生活、工作。
最新文章
- (转)清理AIX的/var文件系统大小
- C# 非托管内存使用时的注意事项
- java集合类(二)
- 关于DWZ模板中全选的使用
- Windows的命令行查看,修改,删除,添加环境变量
- [super init]方法的调用
- Jquery each 的跳出 break continue
- ASP.NET Web基本原理
- 支付宝支付php的demo或sdk报错 Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in
- 关于 LindedList 我想说
- 使用SoapUI调用Vsphere Web Service
- JNI C反射调用java方法
- hdu 2476";String painter";(区间DP)
- JAVA核心技术I---JAVA回顾
- ELK之安装了search guard认证后安装elasticsearch-head
- [转]java 下载网络上的图片并保存到本地目录
- FTP-IIS Web
- WEB前端常用JavaScript代码整理
- python高级(五)—— python函数(一等对象)
- Java类加载器ClassLoader总结
热门文章
- ubuntu之路——day10.5 可避免偏差
- [RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音
- Tensorflow 2 Cifar10离线数据集手动下载、离线安装、本地加载、快速读取
- Android 关于selector中item顺序的问题
- JEECG MiniDao优劣
- GPRS以TCP上传数据到服务器OK,但收不到服务器下发的数据
- 谷歌官方 构建您的第一个应用 Kotlin版
- shell编程系列19--文本处理三剑客之awk中的字符串函数
- pytorch模型存储的两种方式
- pytorch设置多GPU运行的方法