scala.concurrent.blocking-它实际上是做什么?

问题描述 投票:47回答:1

我花了一段时间学习Scala执行上下文,底层线程模型和并发性的话题。您能否以scala.concurrent.blocking中所述的方式解释scaladoc “调整运行时行为”]“可以提高性能或避免死锁”

the documentation中,它表示为等待未实现Awaitable的api的一种方法。 (也许还应该包装长时间运行的计算?)。

它实际上是做什么的?

Following through the source并不容易背叛其秘密。

我花了一段时间学习Scala执行上下文,底层线程模型和并发性的话题。您能解释scala.concurrent.blocking以什么方式“调整运行时...

scala concurrency java.util.concurrent
1个回答
75
投票

blocking旨在作为ExecutionContext的提示,即所包含的代码正在阻塞,并可能导致线程饥饿。这将使线程池有机会产生新线程,以防止饥饿。这就是“调整运行时行为”

的含义。不过,这不是魔术,并且不会与每个ExecutionContext一起使用。
© www.soinside.com 2019 - 2024. All rights reserved.