Go語言的協程池 , 節省內存 , 減小GC壓力git
go get github.com/letsfire/factory
github
// 新建一個協程池,指定協程數量20000 var master = factory.NewMaster(20000) // 新建第一條工做流水線 var line1 = master.AddLine("demo.line.1", func(args interface{}) { // TODO 處理您的業務邏輯 // fmt.Println(args...) }) // 新建第二條工做流水線 var line2 = master.AddLine("demo.line.2", func(args interface{}) { // TODO 處理您的業務邏輯 // fmt.Println(args...) }) // 根據業務場景將參數提交 for i := 0; i < 100000; i++ { line1.Submit(i) } for j := 0; j < 100000; j++ { line2.Submit(j) } // 協程池數量可動態調整 master.AdjustSize(10000) // 縮容 master.AdjustSize(30000) // 擴容