工具類篇 util包下Timer類的延遲執行

2022-07-26 17:21:09 字數 835 閱讀 7752

timer.schedule(timertask,int,int)實現的是迴圈呼叫任務方法,在timertask中就是乙個執行緒的run()方法,需要自己重寫,第二個引數是從多少毫秒開始執行run(),第三個引數是執行完run()後多少毫秒再次執行。

timer.schedule(timertask,int)實現的是單次定時呼叫任務方法,在timertask中就是乙個執行緒的run()方法,需要自己重寫,第二個引數是從多少毫秒後開始執行run()。

timer.scheduleatfixedrate(timertask,int,int)實現的是迴圈呼叫任務方法,在timertask中就是乙個執行緒的run()方法,需要自己重寫,第二個引數是從多少毫秒開始執行run(),第三個引數是執行完run()後多少毫秒再次執行。與上面timer.schedule(timertask,int,int)功能上相似,實質上前者的執行時間是當前應該通過的時間,而後者的執行時間是當前實際通過的時間。例如:規定每隔5秒呼叫一次任務,當呼叫到5次的時候,分別在5,10,15,20,25秒的時候呼叫任務,但是由於某種原因在5秒的時候程式沒有呼叫而在7秒的時候呼叫,這樣算來下一次的呼叫時間是12秒,不是原來的第10秒,當第25秒的時候才只呼叫了4次任務方法,而理論上應該呼叫5次。也就是說當執行任務超點或者早點的時候,前者能夠靈活呼叫任務使得在規定計算出的時間內達到規定的呼叫次數,而後者只能按照超點或早點的時間計算,這樣後者就可能會少呼叫或多呼叫任務次數。

JAVA常用的util工具類

前言 日常開發中,我們需要封裝些基礎的方法來簡化我們的開發 本文是對一些常用的基礎方法進行總結,方便日後使用。更新.wanghaifeng 判斷是否空 param obj return public static boolean checknull object obj else if obj in...

Md5Util加密工具類

md5加密工具類 author john public class md5util return result 將指定byte陣列轉換成16進製制字串 param b return public static string bytetohexstring byte b return hexstrin...

Redis原始碼分析之工具類util

在redis原始碼中的輔助工具類中,主要包括大小端轉換 sha演算法以及util.h中對應的演算法。大小端轉換 linux系統中有自帶的大小端轉換方法,16位 32位的轉換,但是沒有針對64位的轉換,但是redis中加入了對64位資料的大小端轉換方法,api介面如下 void memrev16 vo...