非阻塞http客户端与使用分离线程池的阻塞http客户端

non-blocking http client vs blocking http client which uses a separated threadpool

使用非阻塞 http 客户端和在单独的线程池上执行的阻塞 http 客户端在性能、资源等方面有何不同。在后一种情况下,线程将被阻塞,但使用单独的线程池可以减少对应用程序其余部分的影响。有实际区别吗?如果有人能解决这个问题,那将非常有帮助。

阻塞客户端将使用更多资源(主要是因为额外的线程 - 这意味着更多的上下文切换和更多的内存使用,因为额外的堆栈)。这句话我认为最大的负面影响可能来自线程池中有限数量的线程 - 如果所有线程都被 long-运行 请求阻塞,那么 "fast" 请求必须等待(即使它们已完成) .