/**
* 自定義執行緒池
*/public class userdefinedthread catch (interruptedexception e)
system.out.println("執行緒"+a+"執行完畢");
});}
}//定義執行緒工廠
static class definethreadfactory implements threadfactory
@override
public thread newthread(runnable r)
//當前執行緒池編號
private static final atomicinteger poolnumber = new atomicinteger(1);
//當前執行緒組
private final threadgroup group;
//當前執行緒編號
private final atomicinteger threadnumber = new atomicinteger(1);
//當前執行緒名
private final string nameprefix;
}//定義拒絕策略
static class definerejectedexecutionhandler implements rejectedexecutionhandler}}
執行結果:
是因為
核心執行緒數為1,最大執行緒數為2,快取隊列為100,這樣的話,當建立乙個執行緒後,就已經到達了最大執行緒數,剩下的任務將會進入快取佇列,不在建立新執行緒。
自定義執行緒池
有些時候 jdk自帶的cachedthreadpool fixedthreadpool等執行緒池完成不了我們業務的需求時 可以用threadpoolexecutorg構造自定義的執行緒池。public class usethreadpoolexecutor1 這段 會首先執行任務1,然後把2 3 4...
自定義執行緒池
建立執行緒池方法 儘管executors提供了四種執行緒池建立的方式,但為了實現某些特定的需求,可以自己建立執行緒池。如在阿里的程式設計規範使用executors建立執行緒時,一般會報錯,並提示以下資訊 執行緒池不允許使用executors去建立,而是通過threadpoolexecutor的方式,...
自定義執行緒池
自定義執行緒池建立api 執行緒池建立通過juc的介面 executor 實現,平時我們使用其實現類 threadpoolexecutor 實現自定義執行緒池。常用建構函式 public threadpoolexecutor int corepoolsize,int maximumpoolsize,...