Я столкнулся с методом scala.concurrent.blocking
, и согласно документации Scala это...
Используется для обозначения фрагмента кода, который потенциально блокирует, что позволяет текущий BlockContext для настройки поведения во время выполнения. Должным образом код блокировки маркировки может повысить производительность или избежать взаимоблокировок.
У меня есть некоторые сомнения:
- Каков фактор, с помощью которого появятся новые потоки?
- Это применимо только для контекста выполнения
scala.concurrent.ExecutionContext.Implicits.global
или для пользовательских контекстов выполнения? - Что произойдет, если я завершу любой исполняемый файл с помощью
blocking {
...}
? - Любой практический случай, когда мы должны использовать эту конструкцию.