十三 java多執行緒之Timer

2021-09-17 01:37:09 字數 1352 閱讀 9223

github:

同步工具都講的差不多了,今天我們換一下口味.講一下定時任務timer吧.

細心的人會發現帶引數periodschedulescheduleatfixedrate的解釋是一樣,但是他們有什麼區別

如果週期是30s,任務執行時間是8s,那麼兩者的執行效果是一樣的

但是如果任務執行時間大於週期時間呢?

scheduleatfixedrate會按照週期時間來,即不管任務執行多久,他都是週期一到就重新執行task,

schedule的下一次開始執行時間是取決與上一次結束時間,如果任務執行時間大於週期時間呢,那麼它會按照執行時間為週期執行任務task

public class demo1 

}, 4000);}}

執行結果:

public class demo2 

}, dateformat.parse("2016-10-31 20:04:00"));}}

執行結果

public class demo3 

}, 2000,3000);}}

執行結果

......

public class demo4 

}, dateformat.parse("2016-10-31 20:08:30"), 2000);}}

執行結果

......

public class demo5  catch (interruptedexception e) 

}}, 0, 2000);}}

執行結果:

.....

現在將schedule改為scheduleatfixedrate

public class demo6  catch (interruptedexception e) 

}}, 0, 2000);}}

執行結果:

.....

兩個結果一對比,區別就很明顯了

JAVA多執行緒之 執行緒池

執行緒池顧名思義,就是乙個放置執行緒的池子。就跟資料庫連線池差不多。執行緒池通過對併發執行緒的控制,能有效的節省系統資源的浪費,提高系統的效能。學習執行緒池,先了解一下執行緒池的乙個基本結構 executor是乙個介面,其中只有乙個方法,就是execute方法。所以executor實際就是乙個執行緒...

Java多執行緒之執行緒安全

當多個執行緒訪問某乙個類 物件或方法時 這個類始終都能表現出正確的行為,那麼這個類 物件或方法 就是執行緒安全的。public class mythread extends thread public static void main string args 結果如下 t1正在執行 4 t1正在執行...

java 多執行緒 之 Excutor

excutor介面 提供了一種將任務提交和任務執行機制相分離的方法 excutorservice介面 提供了excutor的管理介面,以及可為跟蹤乙個或多個非同步任務狀態而生成future的方法 scheduledexcutorservice介面 提供了可以安排在給定的延遲後執行或定時執行的命令 方...