教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang轮询机制select的理解

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的理解
mysql随机查询的经验分享
解析mysql实现随机查询的几种方法
Golang 学习笔记:流程控制
Go语言,channel,定时器,select
Golang 学习 - select
浅谈 Go 语言 select 的实现原理
谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)
golang goroutine 通知_深入golang之---goroutine并发控制与通信
mysql随机查询大量数据的sql语句性能分析

[关闭]
~ ~