Как создать scala.concurrent.ExecutionContext

Как создать scala.concurrent.ExecutionContext?

Документация обычно дает общее резюме и упоминает "стандартную" реализацию scala.concurrent.ExecutionContext.global.

Тем не менее, иногда вам нужно создать свой персональный E.C., не используя akka и другие подобные инструменты.

Ответ 1

Если вы хотите объединить в пул:

ExecutionContext.fromExecutor(
  new java.util.concurrent.ForkJoinPool(initialParallelism: Int)
)

Если вам нужен пул потоков фиксированного размера:

ExecutionContext.fromExecutor(Executors.newFixedThreadPool(limit: Int))

Ответ 2

Я сталкивался с этим недавно, и стоит отметить, что:

type ForkJoinPool in package forkjoin is deprecated (since 2.12.0): use java.util.concurrent.ForkJoinPool directly, instead of this alias

Средством для меня было заменить импорт

import scala.concurrent.forkjoin.ForkJoinPool

с

import java.util.concurrent.ForkJoinPool

Затем все составляется по совету от VasyaNoviKov.