簡體   English   中英

如何阻止阻塞隊列大小增加線程池執行器服務?

[英]How to stop blocking queue size from increasing in thread pool executor service?

假設我有一個服務A,它有一個線程池執行器來調用服務B.我們可以使用我們自己的值設置該池的核心池大小和隊列。 現在,服務B響應請求的速度很慢,因為服務線程池中的活動線程增加,導致阻塞隊列大小增加。 如何防止服務A的隊列大小增長?

設置

ThreadPoolExecutor有幾個構造函數接受BlockingQueue

BlockingQueue是一個界面。 一種實現是ArrayBlockingQueue ,它具有有界大小。

ThreadPoolExecutor的文檔明確提到了這一點:

3.有界排隊。 有限隊列(例如,ArrayBlockingQueue)在與有限maximumPoolSizes一起使用時有助於防止資源耗盡,但可能更難以調整和控制。 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM