如何关闭GO中的动态陈

时间:2016-05-20 08:12:49

标签: multithreading go goroutine

抱歉,我无法提出更多解释帖题。

我是GO的新手,我从将我的应用程序从python重写为GO开始,因为我需要纯粹的线程。 想法:我已经排队了我用方法X放置一些初始对象。在迭代这个队列时,我正在为它中的每个对象调用这个方法X.此方法X返回更多对象,方法X介于0和Y之间,其中Y未知。这个方法X应该是线程的,循环应该在没有对象的情况下休眠,直到所有goroutine完成并且队列中没有其他对象。 我做了初始代码,它几乎按预期工作,但我没有意识到如何检查完成的goroutines和队列是空的。首先尝试的是waitgroup,但它没有像IsEmpty或Count这样的方法导致它的线程安全。任何人都可以向我推荐任何解决我问题的方法吗?

如果你不需要缓存结果,下面是代码https://play.golang.org/p/-t7hszVmnG,在第50行为UnixNano添加一些数字。

提前致谢!

0 个答案:

没有答案