計劃執行緒池和單執行緒執行器之間的區別。


序列號要點計劃的執行緒池單執行緒執行器
1
基礎
建立一個執行緒池,可安排命令在給定的延遲後執行或週期性執行
保證順序執行任務,並且任何給定時間都不會有一個以上任務處於活動狀態
2
佇列
它使用延遲佇列來儲存任務。根據時間延遲計劃任務。


它使用阻塞佇列。


3
執行緒生存期
即使在保持池中,保持的執行緒數,即使它們處於空閒狀態
由於任務而遭到殺死時重新建立執行緒。
4.
執行緒池大小
它始終具有單執行緒執行。
執行緒池可以從零執行緒增長到 Integer.MAX_VALUE
5.
用例
我們應在希望限制併發任務時使用固定執行緒池
當需要確保任務 1 始終在任務 2 之前執行時,可以使用此型別的池。

計劃執行緒池的示例

public class ScheduledThreadPoolExample {
   public static void main(String args[]) {
      ScheduledExecutorService services = Executors.newScheduledThreadPool(10);
      services.schedule(new Task(), 10, TimeUnit.SECONDS);
      services.scheduleAtFixedRate(new Task(), 15, 10, TimeUnit.SECONDS);
      //(new Thread(new Main())).start();
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

單執行緒執行器的示例

public class Main {
   public static void main(String args[]) {
      ExecutorService services = Executors.newSingleThreadExecutor();
      Future<?> future = services.submit(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

更新時間:09-9-2020

1K+ 瀏覽量

開啟你的 職業

完成課程,獲得認證

開始
廣告