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

Java8使用Supplier啟動(dòng)ScheduledThread代碼實(shí)例

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

Supplier + ScheduledExecutorService

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

先簡(jiǎn)單寫(xiě)兩個(gè)任務(wù)類(lèi)作為模擬定時(shí)啟動(dòng)的任務(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("-------------");
    }
}

啟動(dòng)方法,利用靜態(tài)方法+Supplier直接啟動(dòng)定時(shí)線(xiàn)程池,并且把所有需要執(zhí)行的任務(wù)添加到池子中,達(dá)到啟動(dòng)即執(zhí)行的目的。

public class ScheduleTest {
    private static final ScheduleTask1 task1=new ScheduleTask1();
    private static final ScheduleTask2 task2=new ScheduleTask2();
	//利用靜態(tài)方法+Supplier直接啟動(dòng)定時(shí)線(xiàn)程池,并且把所有需要執(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啟動(dòng)ScheduledThread詳解的文章就介紹到這了,更多相關(guān)Supplier啟動(dòng)ScheduledThread內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論