sync.Pool設計分析

golang sync.Pool的數據模型在1.13中發生了比較大的改變,一方面是數據模型的重構,一方面是GC對sync.Pool池子影響的優化。 1.數據模型: 初始情況 默認大小爲8,能放8個item。 因爲是有限大小的FIFO,所以採取了最佳模型ring buffer來實現這個隊列。(因爲定長隊列是用定長數組實現的,如果在頭部push的話,需要後續所有內容往後遷移,複雜度爲O(n),而使用環
相關文章
相關標籤/搜索