go语言之进阶篇 select实现的超时机制
2024-10-15 10:07:27
1、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
}
} }() //别忘了() for i := 0; i < 5; i++ {
ch <- i
time.Sleep(time.Second)
} <-quit
fmt.Println("程序结束") }
执行结果:
num = 0
num = 1
num = 2
num = 3
num = 4
超时
程序结束
最新文章
- iOS之九宫格图片
- 06Java数组
- Android入门(五)UI-单位与尺寸、ListView
- [转]关于网络通信,byte[]和String的转换问题
- .NET破解之轻量万能自定义信息管理系统
- 微信智慧KTV上线 不怕周末订不到包厢了
- 从协议VersionedProtocol开始
- Spark RDD的依赖解读
- Ajax异步请求PHP数据
- MapReducer Counter计数器的使用,Combiner ,Partitioner,Sort,Grop的使用,
- 记录一个原因不明的段错误(libxml2 proc activemq的三角恋)
- Python爬虫入门教程 23-100 石家庄链家租房数据抓取
- 全平台网页播放器兼容H5与Flash还带播放列表
- 网页字体在Frontpage2000制作网页中的讲解
- 134、直接拿来用,Android界最火的开源项目
- MySQL Execution Plan--EXPLAIN用法
- 02工厂方法模式FactoryMethod
- [No0000101]JavaScript-基础课程1
- Tomcat无法访问中文路径的解决办法
- Asp.Net MVC Areas区域说明