github.com/gogf/gf@v1.16.9/.example/container/gpool/gpool.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  
     7  	"github.com/gogf/gf/container/gpool"
     8  )
     9  
    10  func main() {
    11  	// 创建一个对象池,过期时间为1000毫秒
    12  	p := gpool.New(1000*time.Millisecond, nil)
    13  
    14  	// 从池中取一个对象,返回nil及错误信息
    15  	fmt.Println(p.Get())
    16  
    17  	// 丢一个对象到池中
    18  	p.Put(1)
    19  
    20  	// 重新从池中取一个对象,返回1
    21  	fmt.Println(p.Get())
    22  
    23  	// 等待1秒后重试,发现对象已过期,返回nil及错误信息
    24  	time.Sleep(time.Second)
    25  	fmt.Println(p.Get())
    26  }