77 parallel-processing multithreading scala future threadpool
Scala的期货线程池有多大?
我的Scala应用程序创建了数百万future {}
s,我想知道我是否可以通过配置线程池来优化它们.
谢谢.
Bie*_*vid 139
这个答案来自monkjack,来自公认答案的评论.然而,人们可以错过这个伟大的答案,所以我在这里重新发布.
implicit val ec = ExecutionContext.fromExecutor(Executors.newFixedThreadPool(10))
Run Code Online (Sandbox Code Playgroud)
如果您只需要更改线程池计数,只需使用全局执行程序并传递以下系统属性.
-Dscala.concurrent.context.numThreads=8 -Dscala.concurrent.context.maxThreads=8
Run Code Online (Sandbox Code Playgroud)
Jos*_*Gao 87
您可以指定您的期货将运行的自己的ExecutionContext,而不是导入全局隐式ExecutionContext.
import java.util.concurrent.Executors
import scala.concurrent._
implicit val ec = new ExecutionContext {
val threadPool = Executors.newFixedThreadPool(1000)
def execute(runnable: Runnable) {
threadPool.submit(runnable)
}
def reportFailure(t: Throwable) {}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26184 次 |
最近记录: |