executor是乙個介面,用於執行實現了runnable的任務;
public
inte***ce executor
executor介面可以將任務的提交與任務的實際執行解耦開來,也就是說:可以直接將任務集合作為引數傳遞給executor.execute()方法,由executor介面的execute方法決定任務的具體執行細節,通過改變executor的實現便可以改變任務執行的行為,這將大大減少修改的難度,因為提交任務的**擴散在整個程式中,修改提交任務的**大大增加修改的難度。
不使用executor框架:
new
thread(new runnabletask()).start();
使用executor框架:
executor executor = anexecutor;
executor.execute(new runnabletask1());
executor.execute(new runnabletask2());
Java併發程式設計的藝術 七 Executors
public static executorservice newcachedthreadpool public static executorservice newsinglethreadexecutor public static scheduledexecutorservice newsche...
併發程式設計下的blockingqueue
blockingqueue是乙個介面,定義如下 public inte ce blockingqueueextends queue blockingqueue主要用於生產者 消費者模式,讀取元素時,阻塞直到佇列非空 儲存元素時,阻塞直到佇列有可用位置 blockingqueue不支援null值,當a...
Java併發程式設計指南(五) Fork Join框架
這個框架被設計用來解決可以使用分而治之技術將任務分解成更小的問題。在乙個任務中,檢查你想要解決問題的大小,如果它大於乙個既定的大小,把它分解成更小的任務,然後用這個框架來執行。這個框架基於以下兩種操作 work stealing演算法 當乙個任務正在等待它使用join操作建立的子任務的結 束時,執行...