我想创建尽可能多的go-routines,因为我需要并行完成某项任务。 我知道在创建了足够的例程时会出现错误,并且这些例程的执行顺序并不重要。
如何从创建这些例程的循环中突破? 这是我想要实现的一半伪代码示例:
func main() {
for {
//This function will give an error after N runs
//I just don't know which before running.
go myFunc()
if err != nil {
break
}
}
//Wait for all routines to finish
//Do something with returned data.
}
我意识到在搜索一段时间后,这可能不是解决问题的最佳方法。因此,任何有关如何最好地解决问题的建议也将受到赞赏。