最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中多個(gè)@Scheduled定時(shí)器不執(zhí)行的解決方法

 更新時(shí)間:2023年04月04日 11:13:48   作者:北漂編程小王子  
在應(yīng)用開發(fā)中經(jīng)常需要一些周期性的操作,比如每5分鐘執(zhí)行某一操作等,這篇文章主要給大家介紹了關(guān)于java中多個(gè)@Scheduled定時(shí)器不執(zhí)行的解決方法,需要的朋友可以參考下

項(xiàng)目背景:在項(xiàng)目中包含兩個(gè)定時(shí)任務(wù),配置信息如下:

1、@Scheduled(initialDelay = 1,fixedDelay=10000)

public voud aa(){}

1、@Scheduled(initialDelay = 1,fixedDelay=10000)

public voud bb(){}

我們需要的都是項(xiàng)目啟動(dòng)后,同時(shí)調(diào)用執(zhí)行aa 和bb 方法,我們發(fā)現(xiàn)只能執(zhí)行其中一個(gè)!那么如何解決呢?

原因是:@Scheduled注解會(huì)在默認(rèn)情況下以單線程的方式執(zhí)行定時(shí)任務(wù)。

這個(gè)“單線程”指兩個(gè)方面:

如果一個(gè)定時(shí)任務(wù)執(zhí)行時(shí)間大于其任務(wù)間隔時(shí)間,那么下一次將會(huì)等待上一次執(zhí)行結(jié)束后再繼續(xù)執(zhí)行。
如果多個(gè)定時(shí)任務(wù)在同一時(shí)刻執(zhí)行,任務(wù)會(huì)依次執(zhí)行。

我們項(xiàng)目都是配置了initialDelay =1 ,Scheduled啟動(dòng)一個(gè)的時(shí)候,另外一個(gè)根本得不到執(zhí)行!當(dāng)然fixedDelay是可以正常按照?qǐng)?zhí)行間隔來執(zhí)行的,就是首次執(zhí)行收到影響!

為了讓@Scheduled效率更高,我們可以通過兩種方法將定時(shí)任務(wù)變成多線程執(zhí)行::

方法1、在啟動(dòng)類中配置TaskScheduler線程池大小

@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(10);//不配置默認(rèn)是1
return taskScheduler;
}

方法2、利用Spring提供的@Async注解和@EnableAsync注解

@Component
@EnableAsync
public class TimedTask{
@Async
@Scheduled(initialDelay = 1,fixedDelay=10000)
public void aa() {
//執(zhí)行你的業(yè)務(wù)邏輯
}

@Async
@Scheduled(initialDelay = 1,fixedDelay=10000)
public void bb() {
//執(zhí)行你的業(yè)務(wù)邏輯
}

總結(jié)

到此這篇關(guān)于java中多個(gè)@Scheduled定時(shí)器不執(zhí)行的文章就介紹到這了,更多相關(guān)java多個(gè)@Scheduled定時(shí)器不執(zhí)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot模擬員工數(shù)據(jù)庫并實(shí)現(xiàn)增刪改查操作

    SpringBoot模擬員工數(shù)據(jù)庫并實(shí)現(xiàn)增刪改查操作

    這篇文章主要給大家介紹了關(guān)于SpringBoot模擬員工數(shù)據(jù)庫并實(shí)現(xiàn)增刪改查操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • SpringBoot通過自定義注解實(shí)現(xiàn)參數(shù)校驗(yàn)

    SpringBoot通過自定義注解實(shí)現(xiàn)參數(shù)校驗(yàn)

    實(shí)現(xiàn)參數(shù)校驗(yàn)說實(shí)話方式還挺多,個(gè)人使用過直接在Controller代碼里面寫、AOP+自定義注解、ConstraintValidator。本文主要和大家講的是ConstraintValidator實(shí)現(xiàn),感興趣的可以了解一下
    2022-12-12
  • JPA?@ManyToMany?報(bào)錯(cuò)StackOverflowError的解決

    JPA?@ManyToMany?報(bào)錯(cuò)StackOverflowError的解決

    這篇文章主要介紹了JPA?@ManyToMany?報(bào)錯(cuò)StackOverflowError的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • MyBatis?insert實(shí)體如何返回主鍵

    MyBatis?insert實(shí)體如何返回主鍵

    這篇文章主要介紹了MyBatis?insert實(shí)體如何返回主鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java多線程之并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore

    java多線程之并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore

    這篇文章主要為大家介紹了java并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • SpringCloud GateWay動(dòng)態(tài)路由用法

    SpringCloud GateWay動(dòng)態(tài)路由用法

    網(wǎng)關(guān)作為所有項(xiàng)目的入口,不希望重啟,因此動(dòng)態(tài)路由是必須的,動(dòng)態(tài)路由主要通過RouteDefinitionRepository接口實(shí)現(xiàn),其默認(rèn)的實(shí)現(xiàn)是InMemoryRouteDefinitionRepository,即在內(nèi)存中存儲(chǔ)路由配置,可基于這個(gè)map對(duì)象操作,動(dòng)態(tài)路由的實(shí)現(xiàn)方案有兩種
    2024-10-10
  • MAVEN_HOME、M2_HOME,maven環(huán)境變量設(shè)置方式

    MAVEN_HOME、M2_HOME,maven環(huán)境變量設(shè)置方式

    這篇文章主要介紹了MAVEN_HOME、M2_HOME,maven環(huán)境變量設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中的CopyOnWriteArrayList你了解嗎

    Java中的CopyOnWriteArrayList你了解嗎

    CopyOnWriteArrayList是Java集合框架中的一種線程安全的List實(shí)現(xiàn),這篇文章主要來和大家聊聊CopyOnWriteArrayList的簡(jiǎn)單使用,需要的可以參考一下
    2023-06-06
  • JAVA虛擬機(jī)中 -D, -X, -XX ,-server參數(shù)使用

    JAVA虛擬機(jī)中 -D, -X, -XX ,-server參數(shù)使用

    本文主要介紹了JAVA虛擬機(jī)中 -D, -X, -XX ,-server參數(shù)使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • jstack和線程dump實(shí)例解析

    jstack和線程dump實(shí)例解析

    這篇文章主要介紹了jstack和線程dump實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論

石首市| 水富县| 大兴区| 永修县| 中宁县| 离岛区| 吉林市| 大化| 砚山县| 周至县| 托克逊县| 墨脱县| 分宜县| 云安县| 北票市| 甘肃省| 奈曼旗| 华安县| 衡东县| 新蔡县| 中江县| 城步| 稷山县| 武夷山市| 大邑县| 山阳县| 疏勒县| 仁布县| 出国| 行唐县| 固原市| 仙居县| 蒙城县| 鄂托克旗| 太原市| 军事| 乐亭县| 临湘市| 佛坪县| 镇江市| 瑞丽市|