我该如何收集golang协程里面的值
业务场景:
有A,B,C,D,E 五个协程来并行抓取ws数据, 抓取后的结果result 是:int64类型的值,已知ws的数据推送很快.
现在需要按照A,B,C,D,E的五个result, 来汇总做计算,评率为每隔n秒
我自己ugly的伪代码:
A.go
var aresult int64
func AgetResult(){
for {
// read ws
data := ws.read()
// parse result
aresult = parse(data)
}
}
B.go
var bresult int64
func BgetResult(){
for {
// read ws
data := ws.read()
// parse result
bresult = parse(data)
}
}
如此类推, 然后利用ticker每隔n秒,来拿各个全局变量来汇总计算
但是感觉这种逻辑真的很ugly, 所以想问下更好的思路?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
golang 里有个东西叫 channel ……
用 channel.