在引入GPOOL对象重用池之前,有必要首先了解Goedely提供的同步。
简而言之,sync.pool是:临时对象池
它的作用是保存和重复使用临时对象,以减少内存分布并降低GC压力。
它更容易使用。一般的想法是:参与池,提前将其放入临时对象,然后将其删除。
好吧,在这些基本概念之后,我们知道GPOOL更简单。
对象重复使用池GPOOL(并发安全)
调用缓存的对象,支持:到期,创建方法和破坏方法。
需要支持时间预期对象的重复使用场景
实例
添加值
价值
过期后的价值测试
实例化GPOOL时,您可以自定义:创建和破坏方法
提示:请小心做出错误的判断,否则问题不好。
以上是基本用途以及如何自定义创建和破坏方法。
与Sync.Pool相比,两者之间的差异:生命周期不支持自定义到期时间,并且不支持对象创建方法和破坏方法;定义到期时间,还支持自定义创建方法和破坏方法方法。
如果您想进一步了解Sync.pool,则可以直接查看本文:从浅层到深处,谈论Golang的Sync.pool,并很好地组织。
感谢您的阅读,欢迎大家连续三家公司:类似,收藏家,硬币投资(关注)!
原始:https://juejin.cn/post/7102979667925139463