gpt4 book ai didi

go - 步数未知的并行for循环

转载 作者:数据小太阳 更新时间:2023-10-29 03:26:40 26 4
gpt4 key购买 nike

我正在学习围棋。我有一个带有递归步骤的 for 循环,直到在未知数量的项目中找到几件东西(未知数量)。我想使用 go func()能够加快搜索速度。我正在使用 chanchan <- <-chan来监督 worker 。但是我不知道如何等待工作完成并能够使用找到的项目。

谢谢!

最佳答案

关于 sync.WaitGroup 的另一个答案是正确的,是此处使用的工具。 for 循环恕我直言放错了地方,我认为您将同时处理循环中的项目;像这样:

func main() {
wg := &sync.WaitGroup{}
for item := range sourceOfUnknownQuantity {
wg.Add(1)
go process(item, wg)
}
wg.Wait()
}

func process(item int, wg *sync.WaitGroup) {
defer wg.Done()
// process item
}

var (
sourceOfUnknownQuantity = make(chan int)
)

for 循环中使用 sourceOfUnknownQuantity 只是为了演示。您的循环实现可能有所不同。

关于go - 步数未知的并行for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39501394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com