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法式設計有所贊助。