本博文分為6個部分:
1.bizprocessor:具體的事務處理邏輯,被多執行緒呼叫。
2.bizasynctaskcall:實現callable介面,用於組裝futuretask。
3.bizfuturetask:代表乙個非同步計算任務,用於提交任務非同步執行,並返回計算結果。
4.bizexecutor:包含乙個executorservice,用於執行非同步計算任務。
5.完整的測試程式。
6.測試程式執行結果。
public
class bizprocessor
}
public
class
bizasynctaskcall
implements
callable
@override
public string call() throws exception
}
public
class
bizfuturetask
extends
futuretask
@override
protected
void done()
}
public
class
bizexecutor
};private
final executorservice executor;
public
bizexecutor(int minthreadnum, int maxthreadnum, int queuelength)
public
void
executesafely(final futuretasktask)
public
void
shutdown()
}}
public
class bizmain
//獲取task執行結果
signal.await(1000, timeunit.microseconds);
for(int i = 0; i < 4; i++)
}catch(exception e)
}}
success, congratulation to zq-0
success, congratulation to zq-1
success, congratulation to zq-2
success, congratulation to zq-3
java併發程式設計 執行緒池
降低資源消耗 提高響應速度 t1 執行緒建立的時間 t2 工作任務執行額時間 t3 執行緒銷毀時間 提高了執行緒的可管理性 corepoolsize 核心執行緒數 如果執行的執行緒數大於核心執行緒數,則會先進入到阻塞佇列裡 maxinumpoolsize 允許最大執行緒數 執行緒池所建立的執行緒數一...
Java併發程式設計 執行緒池 例項
public class test executor.shutdown while true try catch interruptedexception e public void testrun threadpoolexecutor executor,final int a catch inte...
java併發程式設計學習11 執行緒池
執行緒池 為了節省系統在多執行緒併發時不斷建立和銷毀執行緒帶來的額外開銷,就需要引入執行緒池。執行緒池的基本功能就是進行執行緒的復用。當系統接受一 個提交的任務時,並不會著急去建立乙個新的執行緒去執行這個任務,而是去執行緒池中查詢是否有空閒的執行緒。若有 直接使用這個執行緒。若沒有 根據配置的策略執...