程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中Executor接口用法總結

Java中Executor接口用法總結

編輯:關於JAVA

Java中Executor接口用法總結。本站提示廣大學習愛好者:(Java中Executor接口用法總結)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中Executor接口用法總結正文


本文實例講述了Java中Executor接口用法。分享給年夜家供年夜家參考。詳細以下:

1.Java中Executor接口的界說

public interface Executor {
  void execute(Runnable command);
}

2.Executors以下靜態工場辦法創立一個線程池:

a) newFixedThreadPool:創立一個定長的線程池。到達最年夜線程數後,線程數不再增加。

假如一個線程因為非預期Exception而停止,線程池會彌補一個新的線程。

b) newCachedThreadPool:創立一個可緩存的線程池。當池長度跨越處置需求時,可以收受接管余暇的線程。

c) newSingleThreadPool:創立一個單線程executor。

d) newScheduledThreadPool:創立一個定長的線程池,並且支撐准時的和周期性的義務履行。

相似於Timer。然則,Timer是基於相對時光,對體系時鐘的轉變是敏感的,而ScheduledThreadPoolExecutor只支撐絕對時光。

3.比較Timer類的運用總結

1) Timer是創立獨一的線程來履行一切的timer義務。假如一個義務超時了,會招致其他的TimerTask時光精確性出成績。

2) 假如TimerTask拋出uncheck 異常,Timer將會發生沒法預感的行動。是以,ScheduledThreadPoolExecutor可以完整取代Timer。

3) 為懂得決履行辦事的性命周期成績,ExecutorService接口擴大了Executor。線程池將包含3個狀況:running,shutting down,terminated。

4.Callable和Future

由於Runnable沒有前往值,而且不克不及拋出checked異常,所以Callable是更佳的籠統。(Callable<Void>表現無前往值的義務)。
Future描寫了義務的性命周期,並供給了相干的辦法來獲得義務的成果、撤消義務和檢討義務完成或則能否撤消。

5.CompletionService整合了Executor和BlockingQueue的功效。

其take和poll可以壅塞的獲得完成的義務。

願望本文所述對年夜家的java法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved