Java8使用Supplier啟動ScheduledThread代碼實例
Supplier + ScheduledExecutorService
Java8中給我們提供了一系列的函數(shù)式接口,能夠活用這些函數(shù)式接口減少代碼的冗余,使得代碼更加易讀就十分考驗開發(fā)的功底,今天結合一個Run起來就批量啟動的定時任務項目需求,做一個Supplier + ScheduledExecutorService的組合,直接貼代碼供大家參考。
先簡單寫兩個任務類作為模擬定時啟動的任務。
public class ScheduleTask1 implements Runnable{ @Override public void run() { System.out.println("++++++++++"); } }
public class ScheduleTask2 implements Runnable{ @Override public void run() { System.out.println("-------------"); } }
啟動方法,利用靜態(tài)方法+Supplier直接啟動定時線程池,并且把所有需要執(zhí)行的任務添加到池子中,達到啟動即執(zhí)行的目的。
public class ScheduleTest { private static final ScheduleTask1 task1=new ScheduleTask1(); private static final ScheduleTask2 task2=new ScheduleTask2(); //利用靜態(tài)方法+Supplier直接啟動定時線程池,并且把所有需要執(zhí)行的任務添加到池子中 private static final ScheduledExecutorService schedulePool=((Supplier<ScheduledExecutorService>)()->{ ScheduledExecutorService schedule= Executors.newScheduledThreadPool(2); schedule.scheduleAtFixedRate(task1,0,1,TimeUnit.SECONDS); schedule.scheduleAtFixedRate(task2,0,2,TimeUnit.SECONDS); return schedule; }).get(); public static void main(String[] args) throws InterruptedException { System.out.println("Start"); } }
到此這篇關于Java8使用Supplier啟動ScheduledThread詳解的文章就介紹到這了,更多相關Supplier啟動ScheduledThread內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
修改xml文件再也不用重啟項目mybatis-xmlreload方法
這篇文章主要為大家介紹了修改xml文件再也不用重啟項目mybatis-xmlreload,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Android設備如何保證數(shù)據(jù)同步寫入磁盤的實現(xiàn)
這篇文章主要介紹了Android設備如何保證數(shù)據(jù)同步寫入磁盤的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09在Spring Boot中實現(xiàn)HTTP緩存的方法
緩存是HTTP協(xié)議的一個強大功能,但由于某些原因,它主要用于靜態(tài)資源,如圖像,CSS樣式表或JavaScript文件。本文重點給大家介紹在Spring Boot中實現(xiàn)HTTP緩存的方法,感興趣的朋友跟隨小編一起看看吧2018-10-10springmvc 中dao層和service層的區(qū)別說明
這篇文章主要介紹了springmvc 中dao層和service層的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08