首页 > 编程语言 > 详细

go语言中go+select的理解

时间:2019-07-23 23:21:57      阅读:128      评论:0      收藏:0      [点我收藏+]
// select在go语言协程里面是有阻塞select后面继续运行的代码作用,但是当select的case获取到数据之后,协程里面的代码是不会停止的,他还是会继续运行的
package main import( "fmt" "time" ) func main(){ fmt.Println("超时设置") var ch chan string go func() { time.Sleep(time.Second*3) fmt.Println("dasfsdfaf") //这里还是会运行的 }() select { case res := <-ch: fmt.Println(res) return case <-time.After(time.Second * 2): //即使时间过了2秒之后,协程里面的代码还是会运行到 time.Sleep(time.Second*3) fmt.Println("timeout") } }

 

go语言中go+select的理解

原文:https://www.cnblogs.com/MyUniverse/p/11234984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!