2015-09-16 215 views
4

我对问题之一 - Are Futures executed on a single thread? (Scala)中的其中一个问题有任何疑问。如果为了达到Future而使用新的/独立的线程,那么AKKA提供的优势比Java线程有什么优势? Web客户端的数量受限于应用程序可以生成的最大线程数量?与系统可以创建的参与者数量相比,线程数量将少得多。我只想知道是否有其他方法,以便在有大量请求进来时,系统将能够处理它们?AKKA期货和Java线程

回答

8

Futures使用ExecutionContext执行。有多种方法来构建ExecutionContext。其中之一是使用ExecutionService来创建它。例如,ExecutionService可以是ForkJoinPoolThreadPoolExecutor。根据ExecutionService的实施情况,您的期货将会产生新的Thread或重复使用现有的期货。