背景 项目开发时,在某些业务场景我们可能需要控制服务的并发数量,不想引入比较复杂的协程池,只想简单实现。下面我们就可以利用channel特性,几行代码搞定这个需求! 代码实现 package main import ( "fmt" "time" ) var ( sig chan struct{} poolSize = 3 // 用来控制同步并发大小 ) func init() { sig = make(chan struct{}, poolSize) } func simpl…
背景 项目开发时,在某些业务场景我们可能需要控制服务的并发数量,不想引入比较复杂的协程池,只想简单实现。下面我们就可以利用channel特性,几行代码搞定这个需求! 代码实现 package main import ( "fmt" "time" ) var ( sig chan struct{} poolSize = 3 // 用来控制同步并发大小 ) func init() { sig = make(chan struct{}, poolSize) } func simpl…