怎么限制goroutine的上限?

提问者:帅平 问题分类:面试刷题
怎么限制goroutine的上限?
1 个回答
宁愿短发披肩
宁愿短发披肩
具体的措施有:
1、使用信号量(Semaphore):
使用sync.WaitGroup或chan struct{}实现信号量,限制并发goroutine的数量。
2、使用Worker Pool模式:
创建固定数量的worker goroutine,任务通过队列分发给这些worker。
3、使用第三方库:
使用类似ants这样的协程池库,直接设置最大goroutine数量。
发布于:7小时前 IP属地:
我来回答