var wg = sync.WaitGroup这个东西的信号量最小只能为0。
而我想实现的是在n个goroutine中,只要执行的wg.Done次数大于发射goroutine之前wg.Add的数字,那么就立即停止wg.Wait的阻塞。这就有点类似于C语言里面负数信号量,请问一下golang有什么比较方便的方式实现我这个需求吗?
var wg = sync.WaitGroup这个东西的信号量最小只能为0。
而我想实现的是在n个goroutine中,只要执行的wg.Done次数大于发射goroutine之前wg.Add的数字,那么就立即停止wg.Wait的阻塞。这就有点类似于C语言里面负数信号量,请问一下golang有什么比较方便的方式实现我这个需求吗?
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
1 回答3.3k 阅读
2 回答935 阅读✓ 已解决
2 回答2.3k 阅读
context.Context