欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

task與quartz有什么區別

錢諍諍2年前16瀏覽0評論

task與quartz有什么區別?

1、相同點:

兩者均能實現定時調度任務

2、quartz

① 默認多線程異步執行

② 單個任務時,在上一個調度未完成時,下一個調度時間到時,會另起一個線程開始新的調度。業務繁忙時,一個任務會有多個調度,可能導致數據處理異常。

③ 多個任務時,任務之間沒有直接影響,多任務執行的快慢取決于CPU的性能

④ 觸發方式 : (1)SimpleTrigger (2)CronTrigger

⑥ 能被集群實例化,支持分布式部署

⑦使用JobStoreCMT(JDBCJobStore的子類),Quartz 能參與JTA事務;Quartz 能管理JTA事務(開始和提交)在執行任務之間,這樣,任務做的事就可以發生在JTA事務里。

3、Task:

① 默認單線程同步執行

② 單個任務時,當前次的調度完成后,再執行下一次任務調度

③ 多個任務時,一個任務執行完成后才會執行下一個任務。若需要任務能夠并發執行,需手動設置線程

④ 觸發方式:

與Quartz的CronTrigger的表達式類似

可以使用注解標注定時任務

4、總結:

4-1:pring task使用和配置起來更簡單,更輕量。

4-2:任務執行,spring task的調度任務是串行的,意思就是如果配了多個任務的話,前面一個任務沒有結束,后面的任務即使是時間到點了也不會跑。Quartz采用多線程 ,quartz默認情況下可以跑,不過網上說配置下也可以控制等上一個任務結束才能跑。

4-3:實現,Task注解實現方式,比較簡單。Quartz需要手動配置Jobs。

4-4:調度,Task采用順序執行:若當前調度占用時間過長,下一個調度無法及時執行;

Quartz采用異步:下一個調度時間到達時,會另一個線程執行調度,不會發生阻塞問題,但調度過多時可能導致數據處理異常

4-5:部署,Quartz可以采用集群方式,分布式部署到多臺機器,分配執行定時任務

java 線程 異步,task與quartz有什么區別