如何结束子 goroutinue 求助

j00279583 · · 1225 次点击
j00279583
做一个特工
你的意思是这个吗? 但是realdosometing 一直占用cpu啊。不能走到 done的那个分支啊? 求指教。 ```go func dosomething(ctx){ select { case <-ctx.Done(): fmt.Println("time out.") default: // realdosomething } } ```
#2
更多评论
go dosomething() 怎么没把ctx带过去。。ctx不就是做这个事的么 然后select{} 在dosomething里做,就能在timeout到了之后return,结束这个goroutine了
#1
j00279583
做一个特工
你的意思是这个吗? 但是realdosometing 一直占用cpu啊。不能走到 done的那个分支啊? 求指教。 ```go func dosomething(ctx){ select { case <-ctx.Done(): fmt.Println("time out.") default: // realdosomething } } ```
#3