1 Star 0 Fork 0

码农兴哥/go-demo-2025

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main1.go 717 Bytes
一键复制 编辑 原始数据 按行查看 历史
码农兴哥 提交于 2026-01-19 15:56 +08:00 . demo07_pool
package main
import (
"fmt"
"sync"
)
// sync.Pool最基础的使用模式
func basicPoolExample() {
fmt.Println("=== sync.Pool 基本使用 ===")
// 1. 创建Pool
pool := &sync.Pool{
New: func() interface{} {
fmt.Println("创建新对象")
return make([]byte, 1024)
},
}
// 2. 获取对象
obj1 := pool.Get().([]byte)
fmt.Printf("获取对象1: 地址=%p\n", &obj1[0])
// 3. 放回对象
pool.Put(obj1)
fmt.Println("对象1已放回")
// 4. 再次获取(可能复用)
obj2 := pool.Get().([]byte)
fmt.Printf("获取对象2: 地址=%p\n", &obj2[0])
// 5. 验证是否复用
if &obj1[0] == &obj2[0] {
fmt.Println("对象被成功复用")
}
}
func main() {
basicPoolExample()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/rxbook/go-demo-2025.git
git@gitee.com:rxbook/go-demo-2025.git
rxbook
go-demo-2025
go-demo-2025
master

搜索帮助