Java 通用線程池-轉自CSDN
感謝ryang的勞動!Java實現通用線程池
線程池通俗的描述就是預先創建若干空閑線程,等到需要用多線程去處理事務的時候去喚醒某些空閑線程執行處理任務,這樣就省去了頻繁創建線程的時間,因為頻繁創建線程是要耗費大量的CPU資源的。如果一個應用程序需要頻繁地處理大量并發事務,不斷的創建銷毀線程往往會大大地降低系統的效率,這時候線程池就派上用場了。
本文旨在使用Java語言編寫一個通用的線程池。當需要使用線程池處理事務時,只需按照指定規范封裝好事務處理對象,然后用已有的線程池對象去自動選擇空閑線程自動調用事務處理對象即可。并實現線程池的動態修改(修改當前線程數,最大線程數等)。下面是實現代碼:
//ThreadTask .java












//PooledThread.java















































































































































































//ThreadPool.java
下面是線程池的測試程序
//ThreadPoolTest.java
ThreadPool pool = new ThreadPool(3, 2);
pool.init();
要處理的任務實現ThreadTask...接口即可(如測試代碼里的SimpleTask),這個接口只有一個方法run()
兩行代碼即可調用:
ThreadTask task = ... //實例化你的任務對象
pool.processTask(task);























































































































































































































































































使用此線程池相當簡單,下面兩行代碼初始化線程池:
posted on 2007-04-12 23:33 crazy zerlot 閱讀(477) 評論(0) 編輯 收藏 所屬分類: J2SE & J2EE ABC