Spec-Zone.ru › Scala 3.1

Объект scala.concurrent.parasitic

Исходный код

объект parasitic extends ExecutionContextExecutor

ПРЕДУПРЕЖДЕНИЕ: Выполняйте только логику, которая быстро вернёт управление вызывающей стороне.

Этот ExecutionContext заимствует время выполнения у других потоков, заставляя свои Runnable выполняться в потоке, который вызывает execute, а затем возвращает управление вызывающей стороне после выполнения *всех* своих Runnable. Вложенные вызовы execute будут использовать трамплинирование, чтобы предотвратить неконтролируемый рост стека.

При использовании parasitic с абстракциями, такими как Future, в большинстве случаев не будет определённости, какой Thread будет выполнять логику, так как это зависит от того, когда/если этот Future завершится.

Не вызывайте блокирующие участки кода в Runnable предоставляемых этому ExecutionContext, так как это предотвратит прогресс других ожидающих Runnable и вызывающей Thread.

Симптомы неправильного использования этого ExecutionContext включают, но не ограничиваются, тупиками и серьёзными проблемами производительности.

Любые NonFatal или InterruptedException будут сообщены defaultReporter.

Подтипы
Трейт ExecutionContextExecutor
Трейт Executor
Трейт ExecutionContext
Класс Object
Трейт Matchable
Класс Any
Тип "self"
parasitic.type

Конкретные методы

Исходник
final override def execute(runnable: Runnable): Unit

Классы-определения Executor -> ExecutionContext

Исходник
final override def reportFailure(t: Throwable): Unit

Классы-определения BatchingExecutor -> ExecutionContext

Исходник
final override def submitForExecution(runnable: Runnable): Unit

Классы-определения BatchingExecutor

Наследованные методы

Исходник
final protected def submitAsyncBatched(runnable: Runnable): Unit

ПРЕДУПРЕЖДЕНИЕ: Никогда не используйте оба submitAsyncBatched и submitSyncBatched в одной реализации BatchingExecutor

Наследуется из BatchingExecutor

Исходник
final protected def submitSyncBatched(runnable: Runnable): Unit

ПРЕДУПРЕЖДЕНИЕ: Никогда не используйте оба submitAsyncBatched и submitSyncBatched в одной реализации BatchingExecutor

Наследуется из BatchingExecutor

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/concurrent/ExecutionContext$$parasitic$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API