作者寫的是對的。
fixedRate的含義是:從方法開始執(zhí)行的時(shí)候就開始計(jì)時(shí),時(shí)間到了就開始重復(fù)執(zhí)行方法。
fixedDelay的含義是:等方法執(zhí)行完了再開始計(jì)時(shí),時(shí)間到了再重復(fù)執(zhí)行方法。
比如0秒的時(shí)候第一次執(zhí)行fixedRate()方法,需要2秒才能執(zhí)行完。從第0秒計(jì)時(shí)器就開始計(jì)時(shí),過了1秒,@Schedued(fixedRate=1000*1)計(jì)時(shí)器時(shí)間到了,本來應(yīng)該重復(fù)執(zhí)行方法。但是由于作者的示例程序是單進(jìn)程,從第0秒啟動(dòng)的程序在1秒時(shí)候還沒執(zhí)行完了,計(jì)時(shí)器啟動(dòng)的程序只能阻塞,等到第2秒方法第一次執(zhí)行完,才能執(zhí)行計(jì)時(shí)器啟動(dòng)的方法。
第二十六章:SpringBoot使用@Scheduled創(chuàng)建定時(shí)任務(wù)定時(shí)任務(wù)一般會(huì)存在中大型企業(yè)級項(xiàng)目中,為了減少服務(wù)器、數(shù)據(jù)庫的壓力往往會(huì)采用時(shí)間段性的去完成某些業(yè)務(wù)邏輯。比較常見的就是金融服務(wù)系統(tǒng)推送回調(diào),一般支付系統(tǒng)訂單在沒有收到成功的...