阻塞的协程如何超时退出?魅族溜
用户投稿
•
•
阅读 150
“`
func main() {
ctx, cancel := context.WithTimeout(context.TODO(), time.Second*3)
defer cancel() // 防止任务比超时时间短导致资源未释放
// 启动协程
go task(ctx)
// 主协程需要等待,否则直接退出
time.Sleep(time.Second * 4)
}func task(ctx context.Context) {
ch := make(chan struct{}, 0)
// 真正的任务协程
go func() {
// 模拟两秒耗时任务
time.Sleep(time.Second * 2)
ch
本文《阻塞的协程如何超时退出?魅族溜》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。
func main() {
ctx, cancel := context.WithTimeout(context.TODO(), time.Second*3)
defer cancel() // 防止任务比超时时间短导致资源未释放
// 启动协程
go task(ctx)
// 主协程需要等待,否则直接退出
time.Sleep(time.Second * 4)
}func task(ctx context.Context) {
ch := make(chan struct{}, 0)
// 真正的任务协程
go func() {
// 模拟两秒耗时任务
time.Sleep(time.Second * 2)
ch
随机文章
SEO教程站长导航
网站内容优化
GEO培训
SEO教程
友情链接交换
搜素引擎算法
关键词排名优化
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/134799.html

微信扫一扫
支付宝扫一扫