亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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是可以正常按照執(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java空格替換逗號(hào)的實(shí)現(xiàn)示例

    Java空格替換逗號(hào)的實(shí)現(xiàn)示例

    在編程中,我們經(jīng)常需要對字符串進(jìn)行各種處理,其中一個(gè)常見的需求是將字符串中的逗號(hào)替換為空格,本文主要介紹了Java空格替換逗號(hào)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • IE8+SpringMVC文件上傳防止JSON下載

    IE8+SpringMVC文件上傳防止JSON下載

    這篇文章主要介紹了IE8+SpringMVC文件上傳防止JSON下載的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Java魔法堂之調(diào)用外部程序的方法

    Java魔法堂之調(diào)用外部程序的方法

    這篇文章主要介紹了Java魔法堂:調(diào)用外部程序的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-02-02
  • 教你如何用Jenkins自動(dòng)化部署項(xiàng)目(從零到搭建完成)

    教你如何用Jenkins自動(dòng)化部署項(xiàng)目(從零到搭建完成)

    這篇文章主要介紹了教你如何用Jenkins自動(dòng)化部署項(xiàng)目(從零到搭建完成),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解Java中類的加載與其初始化

    詳解Java中類的加載與其初始化

    這篇文章主要為大家詳細(xì)介紹了Java中類的加載與其初始化的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2022-12-12
  • linux系統(tǒng)下java項(xiàng)目在后臺(tái)啟動(dòng)的4種方式總結(jié)

    linux系統(tǒng)下java項(xiàng)目在后臺(tái)啟動(dòng)的4種方式總結(jié)

    Linux是集多種功能于一身的操作系統(tǒng),它可以讓用戶查看和管理當(dāng)下正在運(yùn)行的進(jìn)程,包括Java程序,這篇文章主要給大家總結(jié)介紹了關(guān)于linux系統(tǒng)下java項(xiàng)目在后臺(tái)啟動(dòng)的4種方式,需要的朋友可以參考下
    2023-10-10
  • Java內(nèi)存模型之happens-before概念詳解

    Java內(nèi)存模型之happens-before概念詳解

    happens-before原則非常重要,它是判斷數(shù)據(jù)是否存在競爭、線程是否安全的主要依據(jù),依靠這個(gè)原則,我們解決在并發(fā)環(huán)境下兩操作之間是否可能存在沖突的所有問題。下面我們就一個(gè)簡單的例子稍微了解下happens-before知識(shí),感興趣的朋友一起看看吧
    2021-06-06
  • 解析Java8 Stream原理

    解析Java8 Stream原理

    說起 Java 8,我們知道 Java 8 大改動(dòng)之一就是增加函數(shù)式編程,而 Stream API 便是函數(shù)編程的主角,Stream API 是一種流式的處理數(shù)據(jù)風(fēng)格,也就是將要處理的數(shù)據(jù)當(dāng)作流,在管道中進(jìn)行傳輸,并在管道中的每個(gè)節(jié)點(diǎn)對數(shù)據(jù)進(jìn)行處理,如過濾、排序、轉(zhuǎn)換等
    2021-06-06
  • JAVA簡單分組的算法實(shí)現(xiàn)

    JAVA簡單分組的算法實(shí)現(xiàn)

    本文介紹了“JAVA簡單分組的算法實(shí)現(xiàn)”,需要的朋友可以參考一下
    2013-03-03
  • java中數(shù)組的應(yīng)用及方法

    java中數(shù)組的應(yīng)用及方法

    本篇文章介紹了,java中數(shù)組的應(yīng)用及方法。需要的朋友參考下
    2013-04-04

最新評(píng)論