【问题标题】:How to create a scala.concurrent.ExecutionContext如何创建 scala.concurrent.ExecutionContext
【发布时间】:2016-03-11 00:00:52
【问题描述】:

如何创建scala.concurrent.ExecutionContext

文档通常给出了一个整体的总结,并提到了scala.concurrent.ExecutionContext.global 的“默认”实现。

不过,有时您必须在不使用 akka 和其他此类工具的情况下创建您的个人 E.C.。

【问题讨论】:

    标签: scala concurrency threadpool threadpoolexecutor


    【解决方案1】:

    如果你想要 fork-join 池:

    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 的建议编译所有内容

    【讨论】:

    • 我认为这应该是一个评论,而不是一个单独的答案?无论如何,感谢模棱两可的提示,我已经编辑了我的答案以使其更加清晰。
    猜你喜欢
    • 2022-01-11
    • 2011-04-02
    • 2014-09-15
    • 2018-12-08
    • 2019-03-06
    • 2013-05-14
    • 2012-10-11
    • 2018-07-19
    • 2019-03-21
    相关资源
    最近更新 更多