1. ホーム
  2. multithreading

[解決済み] futuresのスレッドプールを細かく設定するには?

2023-08-03 11:35:31

質問

Scalaのfuture用スレッドプールはどのくらいの大きさですか?

私のScalaアプリケーションでは、何百万もの future {} を生成していますが、スレッドプールを構成することで最適化できないものでしょうか。

ありがとうございます。

どのように解決するのですか?

グローバルな暗黙の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) {}
}