java.util.concurrent.RejectedExecutionException


項目中遇到了java.util.concurrent.RejectedExecutionException。

具體log如下:

 java.util.concurrent.RejectedExecutionException: Task android.os.A 
syncTask$3@4363f698 rejected from java.util.concurrent.ThreadPoolExecutor@4239f1 
d0[Running, pool size = 9, active threads = 9, queued tasks = 128, completed tas 
ks = 195]

目前看來,最主要有2種原因。
第一:
你的線程池ThreadPoolExecutor 顯示的shutdown()之后,再向線程池提交任務的時候。 如果你配置的拒絕策略是AbortPolicy的話,這個異常就會拋出來。
第二:
當你設置的任務緩存隊列過小的時候,或者說, 你的線程池里面所有的線程都在干活(線程數== maxPoolSize),並且你的任務緩存隊列也已經充滿了等待的隊列, 這個時候,你再向它提交任務,則會拋出這個異常。 

查看 here


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM