欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8使用Supplier啟動ScheduledThread代碼實例

 更新時間:2024年01月29日 10:25:08   作者:Smallc0de  
這篇文章主要介紹了Java8使用Supplier啟動ScheduledThread詳解,項目開啟立即啟動定時任務(wù)是很多項目都會遇到的一個需求,如何利用Java提供的函數(shù)優(yōu)雅的寫出來十分考驗一個人的功底,需要的朋友可以參考下

Supplier + ScheduledExecutorService

Java8中給我們提供了一系列的函數(shù)式接口,能夠活用這些函數(shù)式接口減少代碼的冗余,使得代碼更加易讀就十分考驗開發(fā)的功底,今天結(jié)合一個Run起來就批量啟動的定時任務(wù)項目需求,做一個Supplier + ScheduledExecutorService的組合,直接貼代碼供大家參考。

先簡單寫兩個任務(wù)類作為模擬定時啟動的任務(wù)。

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í)行的任務(wù)添加到池子中,達到啟動即執(zhí)行的目的。

public class ScheduleTest {
    private static final ScheduleTask1 task1=new ScheduleTask1();
    private static final ScheduleTask2 task2=new ScheduleTask2();
	//利用靜態(tài)方法+Supplier直接啟動定時線程池,并且把所有需要執(zhí)行的任務(wù)添加到池子中
    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");
    }
}

到此這篇關(guān)于Java8使用Supplier啟動ScheduledThread詳解的文章就介紹到這了,更多相關(guān)Supplier啟動ScheduledThread內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論