/**
通过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(time.Second*3)://阻塞3s满足条件 进入则超时
fmt.Println("超时")
quit<-true
}
}
}()
for i:=0;i<=5;i++{
ch<-i
time.Sleep(time.Second)
}
//阻塞,接收到元素则结束
<-quit
fmt.Println("程序结束")
}
5.23 go 通过select 实现超时功能
猜你喜欢
转载自blog.csdn.net/h4241778/article/details/105476556
今日推荐
周排行