我发现了scala.concurrent.blocking
方法,根据Scala文档所述,这是...
用于指定可能会阻塞的代码片段,允许当前的BlockContext调整运行时的行为。正确地标记阻塞代码可以提高性能或避免死锁。
我有一些疑问:
- 新线程所需的因素是什么?
- 这只适用于
scala.concurrent.ExecutionContext.Implicits.global
执行上下文还是对用户创建的执行上下文也适用? - 如果我使用
blocking {
...}
包装任何可执行文件,会发生什么? - 何时应该使用此结构的任何实际用例。
Future { ... }
执行的计算。 - axel22