如何在没有 ExecutionContext.global 和 IOApp 的情况下使用 cat 效果中的计时器?

Vad*_*dim 4 scala spring-data-jpa scala-cats

我有一个简单的 IO 操作序列,暂停 5 秒。

  implicit val timer = IO.timer(ExecutionContext.global)

  def doSth(str: String): IO[Unit] = IO(println(str))
  def greeting(): IO[Unit] =
    doSth("Before timer.") *>
      Timer[IO].sleep(5 second) *>
      doSth("After timer")

  val a = greeting().unsafeRunAsyncAndForget()
Run Code Online (Sandbox Code Playgroud)

如何使计时器没有ExecutionContext.globalIOApp或固定线程数量ExecutionContext.global

Dmy*_*tin 5

尝试

implicit val timer = IO.timer(ExecutionContext.fromExecutor(Executors.newFixedThreadPool(10)))
Run Code Online (Sandbox Code Playgroud)

如何为期货配置微调的线程池?