2017-11-25 123 views
-3

在使用非阻塞http客戶端和在單獨線程池上執行的阻塞http客戶端之間的性能,資源等方面有何區別。在後一種情況下,線程將被阻塞,但使用分離的線程池可減少對應用程序其餘部分的影響。有沒有實際的區別?如果有人能夠澄清這一點,這將非常有幫助。非阻塞http客戶端vs阻止使用分離線程池的http客戶端

+0

通常,使用選擇器的設計良好的應用程序將具有更高的性能,但「精心設計」取決於您未提供的許多細節。 – markspace

+1

這是一個對於計算器而言過於寬泛的問題。也許這有助於:https://softwareengineering.stackexchange.com/questions/321529/what-are-the-benefits-of-asynchronous-http – pedrorijo91

回答

0

阻塞客戶端將使用更多的資源(主要是因爲額外的線程 - 這意味着更多的上下文切換和增加內存使用,因爲額外的堆棧)。這就是說我認爲線程池中線程數量有限會帶來最大的負面影響 - 如果所有線程都被長時間運行的請求阻塞,那麼「快速」請求必須等待(即使它們已完成)。