【教程】如何使用ScheduledExecutorService?

2021-03-18    分類: 網(wǎng)站建設(shè)

ScheduledExecutorService,是基于線程池設(shè)計(jì)的定時(shí)任務(wù)類,每個(gè)調(diào)度任務(wù)都會(huì)分配到線程池中的一個(gè)線程去執(zhí)行,也就是說(shuō)任務(wù)是并發(fā)執(zhí)行互不影響。

需要注意:只有當(dāng)調(diào)度任務(wù)來(lái)的時(shí)候,ScheduledExecutorService才會(huì)真正啟動(dòng)一個(gè)線程,其余時(shí)間ScheduledExecutorService都是出于輪詢?nèi)蝿?wù)的狀態(tài)。

scheduledexecutorservice

1、線程任務(wù)

class MyScheduledExecutor implements Runnable {
  
  private String jobName;
  
  MyScheduledExecutor() {
    
  }
  
  MyScheduledExecutor(String jobName) {
    this.jobName = jobName;
  }

  @Override
  public void run() {
    
    System.out.println(jobName + " is running");
  }
}

2、定時(shí)任務(wù)

public static void main(String[] args) {
    ScheduledExecutorService service = Executors.newScheduledThreadPool(10);
    
    long initialDelay = 1;
    long period = 1;
    // 從現(xiàn)在開(kāi)始1秒鐘之后,每隔1秒鐘執(zhí)行一次job1
    service.scheduleAtFixedRate(new MyScheduledExecutor("job1"), initialDelay, period, TimeUnit.SECONDS);
    
    // 從現(xiàn)在開(kāi)始2秒鐘之后,每隔2秒鐘執(zhí)行一次job2
    service.scheduleWithFixedDelay(new MyScheduledExecutor("job2"), initialDelay, period, TimeUnit.SECONDS);
  }

ScheduledExecutorService 中兩種最常用的調(diào)度方法 ScheduleAtFixedRate 和 ScheduleWithFixedDelay。ScheduleAtFixedRate 每次執(zhí)行時(shí)間為上一次任務(wù)開(kāi)始起向后推一個(gè)時(shí)間間隔,即每次執(zhí)行時(shí)間為 :initialDelay, initialDelay+period, initialDelay+2*period, …;ScheduleWithFixedDelay 每次執(zhí)行時(shí)間為上一次任務(wù)結(jié)束起向后推一個(gè)時(shí)間間隔,即每次執(zhí)行時(shí)間為:initialDelay, initialDelay+executeTime+delay, initialDelay+2*executeTime+2*delay。由此可見(jiàn),ScheduleAtFixedRate 是基于固定時(shí)間間隔進(jìn)行任務(wù)調(diào)度,ScheduleWithFixedDelay 取決于每次任務(wù)執(zhí)行的時(shí)間長(zhǎng)短,是基于不固定時(shí)間間隔進(jìn)行任務(wù)調(diào)度。

 

網(wǎng)站名稱:【教程】如何使用ScheduledExecutorService?
網(wǎng)頁(yè)地址:http://m.kartarina.com/news/105381.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作建站公司自適應(yīng)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、商城網(wǎng)站、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
主站蜘蛛池模板: 国产色无码精品视频国产| 亚洲中文字幕无码一去台湾| 久久精品无码一区二区三区不卡 | 无码毛片视频一区二区本码| 精品人妻系列无码一区二区三区 | 国产精品无码国模私拍视频 | 国产精品无码无卡在线播放| 精品无码国产自产在线观看水浒传 | 久久精品九九热无码免贵 | 亚洲Av永久无码精品三区在线| JAVA性无码HD中文| 精品无码国产自产拍在线观看蜜 | 免费无码一区二区| 免费A级毛片av无码| 无码人妻丰满熟妇啪啪| 无码国产精成人午夜视频一区二区 | 成人A片产无码免费视频在线观看| 国产精品亚洲а∨无码播放| 无码人妻精品内射一二三AV| 无码精品人妻一区二区三区中 | 日韩精品无码一区二区三区AV| 无码人妻久久一区二区三区 | 国产在线无码精品无码| 人妻无码久久一区二区三区免费 | 国产v亚洲v天堂无码网站| 无码国模国产在线观看| 久久亚洲AV成人无码国产电影| 人禽无码视频在线观看| 未满十八18禁止免费无码网站| 国产网红主播无码精品| 无码任你躁久久久久久老妇| 精品无码专区亚洲| 日本无码一区二区三区白峰美 | 中文有无人妻vs无码人妻激烈 | 乱人伦人妻中文字幕无码| 亚洲国产精品无码久久久秋霞1| 亚洲人成人无码.www石榴| 亚洲的天堂av无码| 亚洲av无码专区亚洲av不卡 | 乱人伦人妻中文字幕无码| 西西人体444www大胆无码视频|