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