日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame gtimer-基本介紹

基本介紹

?gtimer?是一個(gè)并發(fā)安全的高性能定時(shí)器,類似于Java的?Timer?。?gtimer?組件舊版本采用的是分層時(shí)間輪(?Hierarchical Timing Wheel?)設(shè)計(jì),從GOframe v1.16版本開始,采用了優(yōu)先級(jí)隊(duì)列(?PriorityQueue?)實(shí)現(xiàn)。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),上街企業(yè)網(wǎng)站建設(shè),上街品牌網(wǎng)站建設(shè),網(wǎng)站定制,上街網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,上街網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

使用場(chǎng)景:

任何定時(shí)任務(wù)場(chǎng)景,大批量定時(shí)任務(wù)/延遲任務(wù)的場(chǎng)景,超時(shí)控制/頻率控制的業(yè)務(wù)場(chǎng)景,對(duì)于定時(shí)時(shí)間準(zhǔn)確度要求不高的業(yè)務(wù)場(chǎng)景。

注意事項(xiàng):

  • 任何的定時(shí)任務(wù)都是有誤差的,在定時(shí)間隔比較大,或者并發(fā)量大,負(fù)載較高的系統(tǒng)中尤其明顯,具體請(qǐng)參考:https://github.com/golang/go/issues/14410
  • 定時(shí)間隔不會(huì)考慮任務(wù)的執(zhí)行時(shí)間。例如,如果一項(xiàng)工作需要3分鐘才能執(zhí)行完成,并且計(jì)劃每隔5分鐘運(yùn)行一次,那么每次任務(wù)之間只有2分鐘的空閑時(shí)間。
  • 需要注意的是單例模式運(yùn)行的定時(shí)任務(wù),任務(wù)的執(zhí)行時(shí)間會(huì)影響該任務(wù)下一次執(zhí)行的開始時(shí)間。例如:一個(gè)每間隔1秒執(zhí)行的任務(wù),運(yùn)行耗時(shí)為1秒,那么在第1秒開始運(yùn)行后,下一次任務(wù)將會(huì)在第3秒開始執(zhí)行。因?yàn)橹虚g有一次運(yùn)行檢查時(shí)發(fā)現(xiàn)有當(dāng)前任務(wù)正在進(jìn)行,因此退出等待下一次執(zhí)行檢查。

使用方式:

import "github.com/gogf/gf/v2/os/gtimer"

接口文檔:

https://pkg.go.dev/github.com/gogf/gf/v2/os/gtimer

簡(jiǎn)要說明:

  1. ?New?方法用于創(chuàng)建自定義的任務(wù)定時(shí)器對(duì)象,并可在創(chuàng)建時(shí)通過?interval?的?TimerOptions?參數(shù)指定定時(shí)器的最小?tick?時(shí)間間隔。
  2. ?Add?方法用于添加定時(shí)任務(wù),其中:
    • ?interval ?參數(shù)用于指定方法的執(zhí)行的時(shí)間間隔。
    • ?job ?參數(shù)為需要執(zhí)行的任務(wù)方法。
  3. ?AddEntry?方法添加定時(shí)任務(wù),支持更多參數(shù)的控制。
  4. ?AddSingleton?方法用于添加單例定時(shí)任務(wù),即同時(shí)只能有一個(gè)該任務(wù)正在運(yùn)行。
  5. ?AddOnce?方法用于添加只運(yùn)行一次的定時(shí)任務(wù),當(dāng)運(yùn)行一次數(shù)后該定時(shí)任務(wù)自動(dòng)銷毀。
  6. ?AddTimes?方法用于添加運(yùn)行指定次數(shù)的定時(shí)任務(wù),當(dāng)運(yùn)行?times?次數(shù)后該定時(shí)任務(wù)自動(dòng)銷毀。
  7. ?Search?方法用于根據(jù)名稱進(jìn)行定時(shí)任務(wù)搜索(返回定時(shí)任務(wù)?*Entry?對(duì)象指針)。
  8. ?Start?方法用于啟動(dòng)定時(shí)器(使用?New?創(chuàng)建定時(shí)器時(shí)會(huì)自動(dòng)啟動(dòng))。
  9. ?Stop?方法用于停止定時(shí)器。
  10. ?Close?方法用于關(guān)閉定時(shí)器。

默認(rèn)定時(shí)器

大部分的場(chǎng)景下使用默認(rèn)的定時(shí)器即可。使用?gtimer?的默認(rèn)定時(shí)器時(shí),默認(rèn)的間隔時(shí)間為100ms,因此理論的時(shí)間間隔誤差范圍為0~100ms??梢允褂靡韵聝煞N方式修改默認(rèn)的定時(shí)器參數(shù):

  1. 使用啟動(dòng)參數(shù)
    • ?gf.gtimer.interval=50?: 修改默認(rèn)的時(shí)間刻度為50毫秒
  2. 使用環(huán)境變量
    • ?GF_GTIMER_INTERVAL=50?

網(wǎng)站名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame gtimer-基本介紹
標(biāo)題路徑:http://m.5511xx.com/article/dpdhddh.html