【发布时间】:2018-02-07 08:43:23
【问题描述】:
我为事件流构建了一个简单的goroutine 工作池和几个chan,它工作得很好。由于goroutines 的性质,我开始问自己这样做除了限制并发工作人员之外,还能得到什么。 gorutines 他们自己没有任何他们在每次执行时重用的状态,因此保留它们是有价值的。
所以问题是,启动goroutines 并重复使用它们或者只是总是创建一个新的并限制可能同时创建/运行的数量是否有意义?
【问题讨论】:
-
这太宽泛了,无法给你一个好的答案。通常,goroutine 非常轻量级,因此重用它们几乎没有优势。如果您想对一次处理的事物数量进行速率限制,使用其他机制(普通计数器)比使用工作池更容易。
-
不,它没有。协程的整个想法是摆脱对池的需求。
标签: multithreading go goroutine