掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
?gtimer?是一個并發(fā)安全的高性能定時器,類似于Java的?Timer?。?gtimer?組件舊版本采用的是分層時間輪(?Hierarchical Timing Wheel?)設(shè)計,從GOframe v1.16版本開始,采用了優(yōu)先級隊列(?PriorityQueue?)實現(xiàn)。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),上街企業(yè)網(wǎng)站建設(shè),上街品牌網(wǎng)站建設(shè),網(wǎng)站定制,上街網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,上街網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
使用場景:
任何定時任務(wù)場景,大批量定時任務(wù)/延遲任務(wù)的場景,超時控制/頻率控制的業(yè)務(wù)場景,對于定時時間準(zhǔn)確度要求不高的業(yè)務(wù)場景。
注意事項:
使用方式:
import "github.com/gogf/gf/v2/os/gtimer"接口文檔:
https://pkg.go.dev/github.com/gogf/gf/v2/os/gtimer
簡要說明:
New?方法用于創(chuàng)建自定義的任務(wù)定時器對象,并可在創(chuàng)建時通過?interval?的?TimerOptions?參數(shù)指定定時器的最小?tick?時間間隔。Add?方法用于添加定時任務(wù),其中:interval ?參數(shù)用于指定方法的執(zhí)行的時間間隔。job ?參數(shù)為需要執(zhí)行的任務(wù)方法。AddEntry?方法添加定時任務(wù),支持更多參數(shù)的控制。AddSingleton?方法用于添加單例定時任務(wù),即同時只能有一個該任務(wù)正在運行。AddOnce?方法用于添加只運行一次的定時任務(wù),當(dāng)運行一次數(shù)后該定時任務(wù)自動銷毀。AddTimes?方法用于添加運行指定次數(shù)的定時任務(wù),當(dāng)運行?times?次數(shù)后該定時任務(wù)自動銷毀。Search?方法用于根據(jù)名稱進(jìn)行定時任務(wù)搜索(返回定時任務(wù)?*Entry?對象指針)。Start?方法用于啟動定時器(使用?New?創(chuàng)建定時器時會自動啟動)。Stop?方法用于停止定時器。Close?方法用于關(guān)閉定時器。大部分的場景下使用默認(rèn)的定時器即可。使用?gtimer?的默認(rèn)定時器時,默認(rèn)的間隔時間為100ms,因此理論的時間間隔誤差范圍為0~100ms??梢允褂靡韵聝煞N方式修改默認(rèn)的定時器參數(shù):
gf.gtimer.interval=50?: 修改默認(rèn)的時間刻度為50毫秒GF_GTIMER_INTERVAL=50?
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流