我对其中一个问题 - Are Futures executed on a single thread? (Scala)提出了有关期货使用的问题。如果为了到达Future,使用了一个新的/独立的线程,那么AKKA提供的优势比Java线程更大? WebClient的数量受应用程序可以生成的最大线程数限制吗?与系统可以创建的actor数量相比,线程数量将会非常少。我只是想知道是否还有其他方法,以便在有大量请求进入时,系统能够处理它们吗?
答案 0 :(得分:8)
Futures
使用ExecutionContext
执行。有多种方法可以构建ExecutionContext
。其中之一是使用ExecutionService
创建它。例如,ExecutionService
可以是ForkJoinPool
或ThreadPoolExecutor
。根据{{1}}的实施情况,您的期货将被执行产生新的ExecutionService
或重用现有的Thread
。