Объект scala.concurrent.parasitic
объект parasitic extends ExecutionContextExecutor
ПРЕДУПРЕЖДЕНИЕ: Выполняйте только логику, которая быстро вернёт управление вызывающей стороне.
Этот ExecutionContext заимствует время выполнения у других потоков, заставляя свои Runnable выполняться в потоке, который вызывает execute, а затем возвращает управление вызывающей стороне после выполнения *всех* своих Runnable. Вложенные вызовы execute будут использовать трамплинирование, чтобы предотвратить неконтролируемый рост стека.
При использовании parasitic с абстракциями, такими как Future, в большинстве случаев не будет определённости, какой Thread будет выполнять логику, так как это зависит от того, когда/если этот Future завершится.
Не вызывайте блокирующие участки кода в Runnable предоставляемых этому ExecutionContext, так как это предотвратит прогресс других ожидающих Runnable и вызывающей Thread.
Симптомы неправильного использования этого ExecutionContext включают, но не ограничиваются, тупиками и серьёзными проблемами производительности.
Любые NonFatal или InterruptedException будут сообщены defaultReporter.
| Подтипы | |
|---|---|
| Тип "self" |
Конкретные методы
Исходник
| Классы-определения | Executor -> ExecutionContext |
|---|
Исходник
| Классы-определения | BatchingExecutor -> ExecutionContext |
|---|
Исходник
| Классы-определения | BatchingExecutor |
|---|
Наследованные методы
Исходник
ПРЕДУПРЕЖДЕНИЕ: Никогда не используйте оба submitAsyncBatched и submitSyncBatched в одной реализации BatchingExecutor
| Наследуется из | BatchingExecutor |
|---|
Исходник
ПРЕДУПРЕЖДЕНИЕ: Никогда не используйте оба 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