到目前为止我见过的所有例子都涉及阻塞以获得结果(通过<-chan
操作员)。
我当前的方法涉及传递指向结构的指针:
type goresult struct {
result resultType;
finished bool;
}
goroutine 在完成时写入的内容。然后就是一个简单的检查问题finished
方便的时候。你有更好的选择吗?
我真正的目标是 Qt 风格的信号槽系统。我有预感该解决方案看起来几乎微不足道(chan
有很多未开发的潜力),但我对这门语言还不够熟悉,无法弄清楚它。
您可以使用“逗号,好的”模式(请参阅他们的页面“有效的去 http://golang.org/doc/effective_go.html"):
foo := <- ch; // This blocks.
foo, ok := <- ch; // This returns immediately.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)