提綱
- 目標(biāo)
- 效果圖
- 傳送門(mén)
目標(biāo)
在 go 中起協(xié)程是非常方便的, 節(jié)省資源的, 協(xié)程棧大小最大為2KB, 所以乍一看在 go 中設(shè)計(jì)協(xié)程池是多此一舉的;
但通過(guò) pool 可以提供統(tǒng)一的多任務(wù)處理模型,統(tǒng)一管理任務(wù)處理過(guò)程中的監(jiān)控、告警;
且實(shí)現(xiàn)資源隔離(不同協(xié)程池處理不同類(lèi)型任務(wù));
最重要的一點(diǎn): 通過(guò)確定數(shù)量的 worker 可以實(shí)現(xiàn)對(duì)大事務(wù)請(qǐng)求的異步處理, 提升系統(tǒng)吞吐量, 防止頻繁的 new 協(xié)程模式;
效果

image.png
傳送門(mén)
pool.go -> Execute() 有詳細(xì)的task 接收處理流程
https://github.com/markfork/gopool.git