關於java Quartz定時器 和 的區別

2021-07-07 03:36:30 字數 1305 閱讀 5009

「*」表示所有的值,「?」表示不限制這個值,看起來沒有什麼區別,都是表示任意值的意思,但是針對日期和星期來說,用處就大了。比如說每週一12點執行任務,那麼日期就不能用「*」,因為*是表示所有的日期,從1號到月末。這裡就該用「?」,故「0 0 12 ? * mon」。同理,如果要在每個月的一號中午12點來執行任務的話,星期那裡就不能用「*」了,故「 0 0 12 1 * ?」。

另外附上時間規則

"0 0 12 * * ?" 每天中午

12點觸發

"0 15 10 ? * *" 

每天上午

10:15

觸發"0 15 10 * * ?" 

每天上午

10:15

觸發"0 15 10 * * ? *" 

每天上午

10:15

觸發"0 15 10 * * ? 2005" 2005

年的每天上午

10:15

觸發"0 * 14 * * ?" 

在每天下午

2點到下午

2:59

期間的每

1分鐘觸發

"0 0/5 14 * * ?" 

在每天下午

2點到下午

2:55

期間的每

5分鐘觸發

"0 0/5 14,18 * * ?" 

在每天下午2點到

2:55

期間和下午6點到

6:55

期間的每

5分鐘觸發

"0 0-5 14 * * ?" 

在每天下午

2點到下午

2:05

期間的每

1分鐘觸發

"0 10,44 14 ? 3 wed" 

每年三月的星期三的下午

2:10

和2:44

觸發"0 15 10 ? * mon-fri" 

周一至周五的上午

10:15

觸發"0 15 10 15 * ?" 

每月15

日上午10:15

觸發"0 15 10 l * ?" 

每月最後一日的上午

10:15

觸發"0 15 10 ? * 6l" 

每月的最後乙個星期五上午

10:15

觸發"0 15 10 ? * 6l 2002-2005" 2002

年至2005

年的每月的最後乙個星期五上午

10:15

觸發"0 15 10 ? * 6#3" 

每月的第三個星期五上午

10:15

觸發

關於定時器

定時器是個很有意思的東西,它很有用,但我認為這不是現代計算機的結構所擅長的事情。計算機適合做那些很大量的簡單重複工作,或者根據請求做出回應。dos時代是沒有程序執行緒等概念的,那時候要想做到定時真是有些麻煩 通常的做法是死迴圈不斷監測時間,發現時間到了就做特定的事情 當然你可以用delay,來指定等...

關於定時器

今天突然想到乙個問題,如果要設定乙個5分鐘的定時器,那麼時間使用5 minute和5 60 second有什麼區別呢?或者說,設定成後者,程式會不會更累呢,會不會每秒鐘都去檢查下是不是到期了?於是去翻了一下golang原始碼中time的newtimer部分,如下 原來人家這兒用的是duration,...

關於didadida 定時器

在學習 定時器 之前,我們先來清楚的了解定時器的應用需求,或者場合。當需要在一段規定的時間內完成某些操作時,就需要有乙個精準的定時工具來提醒你更好的去完成。我自己理解的是 定時 是,在規定好的時間一旦到了,就自動 醒來 一次,當然,可以給這個過程啟動乙個執行緒。我覺得他更多起到的是乙個 提醒 的作用...