主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
会员
panzhongke的信息
TA的收藏
初级会员
第 48543 位会员
ID:
panzhongke
注册时间:
2020-02-23 10:17:05
是否在线:
Offline
财富:
21
31
更多>>
最近发布的主题
Go问与答
关于并发超时的一点疑问,如何能做到阻塞操作中的超时退出?
at
2020-02-23 15:54:24
更多>>
最近发布的文章
迷宫搜索算法
at
2020-05-05 21:56:48
GOLANG 封装与扩展
at
2020-04-04 22:45:25
golang 基础语法
at
2020-04-04 15:33:53
更多>>
最近分享的资源
暂无
更多>>
最近发布的项目
暂无
更多>>
最近的评论
2020-02-25 14:08:34
评论了
主题
关于并发超时的一点疑问,如何能做到阻塞操作中的超时退出?
我也是这样理解,当协程里做了非常耗时或迟迟不能返回的阻塞操作。是没有办法中止的。
2020-02-23 21:19:05
评论了
主题
关于并发超时的一点疑问,如何能做到阻塞操作中的超时退出?
```go package main import ( "sync" "time" "fmt" "context" ) func main() { var wg sync.WaitGroup start:=time.Now() ctx,cancel:=context.WithTimeout(context.Background(),2*time.Second) defer cancel() wg.Add(1) go func(){ defer wg.Done() for{ select { case <-time.After(1 * time.Second): fmt.Println("overslept") return case <-ctx.Done(): fmt.Println(ctx.Err()) // prints "context deadline exceeded" return default: fmt.Println("dowork") time.Sleep(3*time.Second) fmt.Println("workdone") return } } }() time.Sleep(1*time.Second) cancel() wg.Wait() fmt.Println(time.Since(start)) fmt.Println("end") } 运行... dowork workdone 3.0001716s end 成功: 进程退出代码 0. ``` 谢谢@polaris回复,我找了个context代码。测试结果还是没有符合预期。感觉根本原因是select是同步循环。对于阻塞没有办法控制。
最新主题
|
最新资源
|
最新评论
从零到一:我用go-zero打造了一个开源的IM系统
LLM算法工程师全能实战训练营
AI助手Copilot辅助Go+Flutter打造全栈式在线教育系统|果fx
慕K网 LLM算法工程师全能实战营
LLM算法工程师全能实战营
[已完结]LLM算法工程师全能实战训练营
[完结10章]DeepSeek+SpringAI实战AI家庭医生应用
DeepSeek+SpringAI实战AI家庭医生应用
【Winform+WPF】喷涂工艺SCADA采集监控上位机教程
AI 摄影变现全面解析ComfyUI商业案例实战训练营
从零到一:我用go-zero打造了一个开源的IM系统
Go 垃圾回收机制详解
优雅处理 Go 中的错误:全面指南
Go 语言中 Slice 和 Array 的区别
Go 语言中 Map 的并发安全性详解
Go语言切片(Slice)详解
Go语言 Map 详解
golang interface{}
Golang 面向对象编程(OOP)超详细讲解
Go语言 rune 类型详解:从原理到实战
xiangbei
大约7小时之前
在
将 5 万行 Java 代码移植到 Go 学到的经验
中评论
Great! [balance bike](https://www.xjd.com/c-Kids-Balance-Bike/)
xiangbei
大约5小时之前
在
Go:Goroutine 的切换过程实际上涉及了什么
中评论
Mark! [Climbing Blocks](https://www.xjd.com/c-Climbing-Blocks/)
mengmeng
大约3小时之前
在
Fourth glance in Go
中评论
Mark [gokart](https://www.xjd.com/)
mengmeng
大约1小时之前
在
vscode pls代码跳转自动打开浏览器怎么破
中评论
Mark [gokart](https://www.xjd.com/)
xiangbei
大约1小时之前
在
域名买了,DNS解析怎么选?一键按需定制解析服务不是梦
中评论
Great@! [girls bike](https://www.xjd.com/c-Kids-Bike/)
mengmeng
大约2小时之前
在
Golang Slice详解
中评论
Great! [kids bike](https://www.xjd.com/)
xiangbei
大约2小时之前
在
gf-cli v0.7.4发布,GoFrame开发工具链
中评论
Great@! [girls bike](https://www.xjd.com/c-Kids-Bike/)
xiangbei
大约2小时之前
在
Go语言获取外网和本地IP
中评论
Great! [toys](https://www.xjd.com/)
mengmeng
大约2小时之前
在
Golang学习笔记-1.10 包的理解
中评论
Great@! [girls bike](https://www.xjd.com/c-Kids-Bike/)
mengmeng
大约2小时之前
在
beego orm支持联合主键吗
中评论
thanks a lot by [XJD](https://www.xjd.com/)
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册
最近的评论