关于多线程:Web服务的Java / Scala多线程问题

Java/Scala multi-threading issue for a web service

在Web服务环境中,我想对应用程序收到的每个请求进行几个独立的http调用。由于这些调用是独立的,因此串行进行调用没有意义,因此我需要某种并发性。

据我了解,为每个http调用不小心创建新线程是没有意义的。而且,重新创建所有这些线程会带来很多开销。

因此,我认为最好的选择是为所有http调用单例创建FixedThreadPool,并在整个应用程序中使用它。

这是最好的选择吗?


您应该认真看一下Akka,尤其是它提供的Camel支持。


您可能要考虑使用AsyncHttpClient AsyncHttpClient库进行非常简单的异步http调用。描述如何使用该库的一系列博客文章正在通过AsyncHttpClient

实现异步