go 通过select实现超时
Posted dqh123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 通过select实现超时相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"time"
)
func main() {
ch := make(chan int)
quit := make(chan bool)
go func() {
for{
select {
case num := <-ch:
fmt.Println("num=",num)
case <-time.After(3*time.Second):
fmt.Println("超时")
quit <- true
//break
}
}
}()
for i:= 0;i<5;i++{
ch <- i
time.Sleep(time.Second)
}
qt:= <-quit
fmt.Println("程序结束:qt=",qt)
}
以上是关于go 通过select实现超时的主要内容,如果未能解决你的问题,请参考以下文章
Golang✔️走进 Go 语言✔️ 第十七课 select & 超时和非阻塞
Golang✔️走进 Go 语言✔️ 第十七课 select & 超时和非阻塞