对于相同的任务,我有两种算法,一种在某些情况下最佳,另一种在其他情况下最佳。
因此,我想在处理任务时同时启动两个goroutine,并且仅使用第一个完成的goroutine返回的结果。
另外,在结果中,我需要知道它是由哪种算法返回的。如果我认为第一个返回的结果不正确,我想等待第二个结果。
我通过https://golang.org/pkg/sync/的文档阅读,似乎只能等待所有goroutine完成。
如何在golang中实现这个想法?
海绵宝宝撒
相关分类