我遇到过一种情况,我想跟踪某个 goroutine 以在特定点上进行同步,例如在获取所有 url 时。然后,我们可以将它们全部放置并按特定顺序显示。
我认为这是障碍进来的。它是在go与sync.WaitGroup. 但是,在实际情况下,我们无法确保所有的 fetch 操作都会在短时间内成功。所以,我想wait在获取操作时引入超时。
我是新手Golang,所以有人可以给我一些建议吗?
我正在寻找的是这样的:
wg := &sync.WaigGroup{}
select {
case <-wg.Wait():
// All done!
case <-time.After(500 * time.Millisecond):
// Hit timeout.
}
我知道Wait不支持Channel。
慕桂英4014372
慕尼黑的夜晚无繁华
慕标5832272
相关分类