亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

誰能告訴我這里為啥打印這么多次

https://img1.sycdn.imooc.com//5ab79e5700019dd112140674.jpg

誰能告訴我這里為啥打印這么多次

正在回答

3 回答

43秒啟動的scheduler,每秒執行一次;
2秒后scheduler被關閉,也就是說任務被觸發的時間為:
43秒,
44秒,
45秒,
那么由于單個job中存在一個sleep(5s)的線程,那么job中打印時間應該為:
48秒,
49秒,
50秒,
觀察結果卻是:
49秒,
49秒,
50秒,
說明在43秒觸發的任務,假設是43.999秒觸發的,理論上應該在48.999秒打印job中的時間,但是由于每行程序執行都需要時間,假設為1ms,就導致第一次觸發的任務在打印時間的時候已經到了49秒。
自己在執行程序的時候把毫秒單位也打出來就容易理解了。
同時可能quartz自己的執行機制,會把時間相近,比如相差五毫秒以內(推測)的兩條任務同時執行,也就是說在同一毫秒精度執行。https://img1.sycdn.imooc.com//610bf32700010da710000775.jpg
https://img1.sycdn.imooc.com//610bf3270001dff710000783.jpg

0 回復 有任何疑惑可以回復我~

因為線程睡眠了2秒,它會把睡眠的的這2秒需要執行的代碼都補上

0 回復 有任何疑惑可以回復我~

設置的是每秒打印一次,但是為啥會重複一次49秒就不知道了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

誰能告訴我這里為啥打印這么多次

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號