知识卡片

Pool降低临时对象压力

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.1.b.1.a.2.a.4.a

内容

sync.Pool 用运行时协作的缓存池复用临时对象,减少分配和 GC 压力,适合高并发短生命周期对象。发散:对象池不是通用缓存,GC 随时可能清掉它。

参考来源

- 位置:《Go语言入门到实战(共3册)》第47章《Go语言学习笔记:第22章 缓存池》(源文件:_epub-src/text/part0130.html) - 结论依据:原文围绕“sync.Pool”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:中途被调度给其他线程,甚至你设置了LTS的线程会滚回闲置队列休眠。 为此,官方提供了一个深入runtime内核运作机制的sync.Pool。其算法已被内存分配、垃圾回收和调度器所使用,算是得到验证的成熟高效体系。 22.1 初始化 用于提供本地缓存对象分配的poolLocal类似内存分配器里的cac……