我遇到了这个scala.concurrent.blocking
方法,根据 Scala 文档,这是......
用于指定一段可能阻塞的代码,允许当前 BlockContext 调整运行时的行为。正确标记阻塞代码可以提高性能或避免死锁。
我有些疑惑:
- 产生新线程的因素是什么?
- 这是否仅适用于
scala.concurrent.ExecutionContext.Implicits.global
执行上下文或用户创建的执行上下文? - 如果我用
blocking {
...包装任何可执行文件会发生什么}
? - 我们应该使用此构造的任何实际用例。