gpt4 book ai didi

go - 如何在不阻塞的情况下确定 goroutine 是否完成?

转载 作者:IT王子 更新时间:2023-10-29 01:06:45 24 4
gpt4 key购买 nike

到目前为止,我看到的所有示例都涉及阻塞以获得结果(通过 <-chan 运算符)。

我目前的方法涉及将指针传递给结构:

type goresult struct {
result resultType;
finished bool;
}

goroutine 在完成时写入。然后检查finished就很简单了方便的时候。你有更好的选择吗?

我真正的目标是 Qt 风格的信号槽系统。我有一种预感,这个解决方案看起来几乎微不足道(chan很多 未开发的潜力),但我对这种语言还不够熟悉,无法弄清楚。

最佳答案

您可以使用“逗号,好的”模式(请参阅他们在“effective go”上的页面):

foo     := <- ch; // This blocks.
foo, ok := <- ch; // This returns immediately.

关于go - 如何在不阻塞的情况下确定 goroutine 是否完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1730719/

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