Java如何自定義線程線程池?

阿裏雲問答 2022-01-07 18:14:00 阅读数:164

java 自定

Java如何自定義線程線程池?




采納答案1:

"如果當前線程池中的線程數目小於corePoolSize,則每來一個任務,就會創建一個線程去執行這個任務; 如果當前線程池中的線程數目>=corePoolSize,則每來一個任務,會嘗試將其添加到任務緩存隊列當中,若添加成功,則該任務會等待空閑線程將其取出去執行;若添加失敗(一般來說是任務緩存隊列已滿),則會嘗試創建新的線程去執行這個任務; 如果隊列已經滿了,則在總線程數不大於maximumPoolSize的前提下,則創建新的線程 如果當前線程池中的線程數目達到maximumPoolSize,則會采取任務拒絕策略進行處理; 如果線程池中的線程數量大於 corePoolSize時,如果某線程空閑時間超過keepAliveTime,線程將被終止,直至線程池中的線程數目不大於corePoolSize;如果允許為核心池中的線程設置存活時間,那麼核心池中的線程空閑時間超過keepAliveTime,線程也會被終止。 ThreadPoolExecutor executor = new ThreadPoolExecutor(1,2,60L, TimeUnit.MINUTES, new ArrayBlockingQueue<>(3)); for(int i = 0;i<10;i++){ executor.execute(() -> {

});

} executor.shutdown();"


版权声明:本文为[阿裏雲問答]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071814000931.html