首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Executor 框架核心用法總結

     編輯:Java 相關知識

Java Executor 框架核心用法總結。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整總結正文


本文實例講述了 Java 中 Executor 介面用法。分享給大家供參考。詳細以下:

  1. Executor 介面定義:
    public interface Executor {
        void execute(Runnable command);
    }
  2. Executors 靜態工廠方法建立執行緒池:
    a) newFixedThreadPool:固定長度執行緒池,達最大數不再增加,執行緒異常終止會補新。
    b) newCachedThreadPool:可快取執行緒池,長度超過處理需求可回收閒置執行緒。
    c) newSingleThreadPool:單一執行緒 executor。
    d) newScheduledThreadPool:固定長度支援定時與週期性任務。類似 Timer,但 Timer 基於相對時間對系統時鐘敏感,ScheduledThreadPoolExecutor 只支援絕對時間。
  3. Timer 類使用總結比較:
    1) Timer 單一執行緒執行所有任務,一個任務超時會影響其他任務時間精準度。
    2) TimerTask 拋出 unchecked 異常會導致 Timer 行為不可預期。ScheduledThreadPoolExecutor 可完全取代 Timer。
    3) 為了解決執行服務生命週期問題,ExecutorService 擴展了 Executor。執行緒池包含 running、shutting down、terminated 三種狀態。
  4. Callable 與 Future:
    Runnable 無回傳值且不可拋出 checked 異常,Callable 是更好的抽象。Future 描述任務生命週期,提供取得結果、取消任務、檢查完成狀態等方法。
  5. CompletionService 整合了 Executor 和 BlockingQueue 功能,take 和 poll 可阻塞取得已完成任務。

希望本文所述對大家的 Java 程式設計有所幫助。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved