waitgroup的使用
来源:11-5 传统同步机制

qq_白澤_0
2020-08-16
老师,我们如果在多任务情况,优先使用waitgroup吗?之前的几节还有讲到自己写done的部分,但是这里归类到了传统同步机制,如果多任务情况,我们是优先使用waitgroup还是自己写channel?
写回答
2回答
-
这个问题很好。
我们在任务数量确定的情况下考虑自己写channel。举个例子,用户要购买一个商品,我需要:
查询库存
查询余额
确定购买人资格,比如年龄等
这三件事可以同时进行,但是数量固定。这里数量固定是指不随用户的输入变化,不是说业务上固定。就适合自己写channel,比如:
stockVerified := <- stockCheckCh
fundVerified := <-fundCheckCh
identityVerified := <- identityCheckCh
if stockVerified && fundVerified && identityVerified {
// 购买逻辑
}
使用waitgroup的话,适用于任务数量不确定的情况。比如我要根据资源情况把一个并行任务分配给n个worker,那就需要用waitgroup来等待它们全部做完。
212020-08-19 -
xfcy_晓风残月
2020-11-22
感谢!有同样的感受~谢谢ccmouse大神的解答!
00
相似问题