實現自定義ThreadPoolExecutor

編程語言 Java 科技 風吹走了烏雲 2017-04-07

Java 併發庫為我們提供許多接口和類來實現我們的併發應用程序。Java提供底層(low-level)機制,如Thread類、Runnable或Callable接口、或synchronized關鍵字。而且也提供高級(high-level)機制,例如Executor框架和Java 7 發佈的Fork/Join框架。儘管這樣,你可能發現你自己開發一個程序時,沒有一個java類能滿足你的需求。

在這種情況下,我們就需要實現我們特製的併發工具類,但是我們又不可能從頭設計一個併發框架。為此,基於Java思想,我們有如下辦法:

  • 1、實現一個接口,實現這個接口定義的功能。

  • 2、繼承一個類,並重寫其中的方法實現。

以下我們將繼承ThreadPoolExecutor類來實現我們自己的Executor,上代碼

實現自定義ThreadPoolExecutor

實現自定義ThreadPoolExecutor

實現自定義ThreadPoolExecutor

以上,我們通過繼承ThreadPoolExecutor類和覆蓋它的4個方法來實現我們自己定製的執行者。通過這個程序,你將看到這個程序如何顯示正在運行的每個任務的時間跨度,和根據調用shutdown()方法統計執行者。

當然,還有其他未實現的方法,具體的大家可以查看官方的API。

最後,謝謝大家觀看,關注走一波!!!

最近每天會更新多線程、併發庫這塊的內容!!!

相關推薦

推薦中...