springboot 多執行緒執行定時任務

2021-08-31 18:16:00 字數 1058 閱讀 9603

1.建立專案 

網上有很多,這裡省略。

2.匯入依賴

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

3.建立任務類

@component

public class scheduledservice ",system.currenttimemillis());

}@scheduled(fixedrate = 5000)

public void scheduled1() ", system.currenttimemillis());

}@scheduled(fixeddelay = 5000)

public void scheduled2() ",system.currenttimemillis());}}

在主類上使用@enablescheduling註解開啟對定時任務的支援,執行專案。

這時看到三個定時任務都已經執行,並且使同乙個執行緒中序列執行,如果只有乙個定時任務,這樣做肯定沒問題,當定時任務增多,如果乙個任務卡死,其它任務將不能執行。

新建乙個asyncconfig類

@configuration

@enableasync

public class asyncconfig 

}

@configuration:表明該類是乙個配置類

@enableasync:開啟非同步事件的支援

然後在定時任務的類或者方法上新增@async 。重啟專案,每乙個任務都是在不同的執行緒中

springboot裡多執行緒執行某任務

剛剛接觸到這個領域的時候,我感覺無從下手。一邊查資料一邊寫 看執行日誌,碰到了一些坑,也學到了很多知識 不僅僅是併發程式設計方面的,也包括spring ioc和bean的知識。在這裡做個記錄吧!component public class implements override public voi...

SpringBoot設定多執行緒執行定時任務

設定定時任務為多執行緒 springboot定時任務預設都是使用單執行緒執行的,如果有多個定時任務同時執行的話,那麼就可能會導致很多任務無法按時準確執行。單執行緒定時任務示例 片 component public class tasktest catch exception e system.out...

Springboot 多執行緒 等待獲取執行結果

在日常的開發專案過程中,時常會有多執行緒的使用場景。最近開發的需求中也是如此,只不過這次需要開啟多執行緒去執行,最後要等所有執行緒結束統一獲取結果。所以在此整理一下 在springboot專案中開啟非同步執行緒需要滿足一下幾點 因為需要開啟多執行緒非同步執行並獲取其返回結果,所以選用future作為...