新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFramegpool-基本介紹
基本介紹
對象復(fù)用池(并發(fā)安全)。將對象進行緩存復(fù)用,支持過期時間、創(chuàng)建方法及銷毀方法定義。

目前成都創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、蓮花網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
使用場景:任何需要支持定時過期的對象復(fù)用場景。
使用方式:
import "github.com/GOgf/gf/v2/container/gpool"接口文檔:
https://pkg.go.dev/github.com/gogf/gf/v2/container/gpool
需要注意:
- ?
New?方法的過期時間類型為?time.Duration?。 - 對象創(chuàng)建方法(?
newFunc NewFunc?)返回值包含一個?error?返回,當對象創(chuàng)建失敗時可由該返回值反饋原因。 - 對象銷毀方法(?
expireFunc...ExpireFunc?)為可選參數(shù),用以當對象超時/池關(guān)閉時,自動調(diào)用自定義的方法銷毀對象。
gpool與sync.Pool
?gpool?與?sync.Pool?都可以達到對象復(fù)用的作用,但是兩者的設(shè)計初衷和使用場景不太一樣。
?sync.Pool?的對象生命周期不支持自定義過期時間,究其原因,?sync.Pool?并不是一個?Cache?;?sync.Pool?設(shè)計初衷是為了緩解?GC?壓力,?sync.Pool?中的對象會在?GC?開始前全部清除;并且?sync.Pool?不支持對象創(chuàng)建方法及銷毀方法。
當前名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFramegpool-基本介紹
分享URL:http://www.dlmjj.cn/article/dhppdeo.html


咨詢
建站咨詢
