首页 > 其他 > 详细

Golang 怎么给WaitGroup加超时时间

时间:2019-12-16 19:00:53      阅读:426      评论:0      收藏:0      [点我收藏+]

怎么给WaitGroup加超时时间呢?刚好群里有人问了我这个问题,我就把我的方法在这边贴出来了。

        var w = sync.WaitGroup{}
	var ch = make(chan bool)
	w.Add(2)
	go func() {
		time.Sleep(time.Second * 2)
		fmt.Println("我2秒")
		w.Done()
	}()
	go func() {
		time.Sleep(time.Second * 6)
		fmt.Println("我6秒")
		w.Done()
	}()
	go func() {
		w.Wait()
		ch <- false
	}()

	select {
	case <-time.After(time.Second * 5):
		fmt.Println("我超时了")
	case <-ch:
		fmt.Println("我结束了")
	}    

  技术分享图片技术分享图片这样就可以轻松实现啦

Golang 怎么给WaitGroup加超时时间

原文:https://www.cnblogs.com/hughlhk/p/12050337.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!