golang轮询机制select的理解
发布时间:2021-12-21 编辑:jiaochengji.com
教程集为您提供golang轮询机制select的理解等资源,欢迎您收藏本站,我们将为您提供最新的golang轮询机制select的理解资源
<pre class="brush:cpp ;toolbar: true; auto-links: false;">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)
}
//select的轮询机制
func fibonacci(c chan int, quit chan int) {
x, y := 0, 1
for {
select { // select轮询机制
case c <- x:
x, y = y, x y
case <-quit:
fmt.Println("quit")
return
}
}
}
main中执行fibonacci函数时候,select有收发管道数据,顺序执行case时候发数据会阻塞,
知道有读取发的数据,然后继续执行,轮询阻塞,知道收到quit管道数据的时候return
执行结果:
0
1
1
2
3
5
8
13
21
34
quit
</pre>
到此这篇关于“golang轮询机制select的理解”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
到此这篇关于“golang轮询机制select的理解”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
golang轮询机制select的理解
mysql随机查询的经验分享
解析mysql实现随机查询的几种方法
Golang 学习笔记:流程控制
Go语言,channel,定时器,select
Golang 学习 - select
浅谈 Go 语言 select 的实现原理
谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)
golang goroutine 通知_深入golang之---goroutine并发控制与通信
mysql随机查询大量数据的sql语句性能分析
上一篇:Go语言 零基础入门到精通项目实战
下一篇:在windows环境下搭建go编程环境
[关闭]