簡而言之---兩個類
//執行緒池的**類
public class threadpoolproxyfactory }}
return mnormalthreadpoolproxy;
}/**
** @return
*/public static threadpoolproxy createdownloadthreadpoolproxy() }}
return mdownloadthreadpoolproxy;
}//執行緒池
public class threadpoolproxy
private void initthreadpoolexecutor() }}
}/**
1.提交任務和執行任務
是否有返回值
提交任務有返回值
執行任務沒有返回值
2.future是啥?
1.得到任務執行之後的結果
2.包含了乙個get方法和cancle
3.其中get方法,是乙個阻塞的方法,會阻塞等待任務執行完成之後的結果,還可以try catch到任務執行過程中丟擲的異常
*//**
* 提交任務
*/public future<?> submit(runnable task)
/*** 執行任務
*/public void execute(runnable task)
/*** 移除任務
*/public void remove(runnable task)
}
執行緒池的使用
執行緒池能幫助我們有效的管理執行緒,避免重複的建立銷毀執行緒。newfixedthreadpool 固定執行緒數量的執行緒池 newsinglethreadexecutor 返回乙個只有乙個執行緒的執行緒池 newcachedthreadpool 返回乙個可根據實際情況調整執行緒數量的執行緒池 ne...
執行緒池的使用
如果在使用執行緒的時候就去建立乙個新執行緒,當併發的執行緒數量很多,並且每個執行緒都是執行乙個時間很短的任務就結束了,系統在建立和銷毀執行緒上花費的時間和消耗的系統資源都相當大,甚至要比處理任務的時間和資源要多的多,同時活動的執行緒也需要消耗系統資源.executor是乙個頂層介面,它只宣告了乙個方...
執行緒池的使用
runnable介面 通常,執行緒池都是通過執行緒池工廠建立,再呼叫執行緒池中的方法獲取執行緒,再通過執行緒去執行任務方法。使用執行緒池中線程物件的步驟 建立執行緒池物件 建立runnable介面子類物件 提交runnable介面子類物件 關閉執行緒池 public class threadpool...