ThreadPoolExecutor使用LinkedBlockingQueue的問題

上圖中,線程不自動擴展,也不報錯,原因如下: 以上的是execute方法的源碼,從源碼中可以看到,能新建非core線程的直接原因是隊列workQueue添加元素失敗,因此選擇不同的BlockingQueue實現類會對新建線程產生很大的影響,常用的BlockingQueue: LinkedBlockingQueue:隊列已滿時會添加失敗; SynchronousQueue:如果沒有其他線程在等待獲取
相關文章
相關標籤/搜索