我有这种情况:
方法a:创建隐式ec
方法 a:调用 Future 中的另一个方法,即
Future(anotherMethod)
.anotherMethod
,并且其所有后续调用不再具有来自方法 a 的 ec 范围。
示例代码:
class Foo {
private implicit val ec: ExecutionContextExecutor =
ExecutionContext.fromExecutor(Executors.newFixedThreadPool(Runtime.getRuntime.availableProcessors()))
private val anotherClass = new Bar()
def methodA() = Future(anotherClass.anotherMethod())
}
我猜想,任何来自或任何后续调用的调用.par
,例如someVector.par.map.().seq
等,anotherMethod
都将使用全局执行上下文,而不是在方法 a 中创建的自定义上下文。我的假设正确吗?