1. 单线程执行时,fixedRate失效,实际执行频率与实际执行时间一致。
2. 定时任务加上@Async 或者定时任务调用加上@Async注解的service方法时,实际执行频率与fixedRate一致。
// 定时任务 @Scheduled(fixedRate=1000) public void callAsyncService(){ asyncService.printConsumedTime(); } // service @Async public void printConsumedTime(){ try{ StopWatch sw = new StopWatch(); long starttime = System.currentTimeMillis(); sw.start(); Thread.sleep(2000); sw.stop(); System.out.println(Thread.currentThread().getName() + " start time:"+starttime+"last time :"+sw.getTotalTimeMillis()); }catch(InterruptedException e){ } }
标签:spring,sw,fixedRate,任务,Async,定时,执行,单次 From: https://www.cnblogs.com/whatsoever/p/17147265.html