Java 執行緒池併發程式設計詳解

2021-07-22 14:56:16 字數 1364 閱讀 7204

本博文分為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 執行緒池

執行緒池 為了節省系統在多執行緒併發時不斷建立和銷毀執行緒帶來的額外開銷,就需要引入執行緒池。執行緒池的基本功能就是進行執行緒的復用。當系統接受一 個提交的任務時,並不會著急去建立乙個新的執行緒去執行這個任務,而是去執行緒池中查詢是否有空閒的執行緒。若有 直接使用這個執行緒。若沒有 根據配置的策略執...