#scala #scala-cats #cats-effect
#scala #scala-кошки #кошки-эффект
Вопрос:
В документации Blocker есть следующий абзац:
Экземпляры этого класса НЕ должны передаваться неявно, потому что они сохраняют состояние, и в некоторых случаях вашему приложению могут потребоваться разные экземпляры Blocker.
Почему в некоторых случаях мне потребуется более одного пула потоков (и, следовательно, более 1 блокатора) для блокирования операций?
Комментарии:
1. Ну, почему бы и нет? Возможно, вы захотите иметь фиксированный пул потоков для чтения и обработки некоторых файлов CSV и другой неограниченный пул потоков для чтения из базы данных или любую другую комбинацию. Суть авторов в том, что такое решение может быть принято только вами как пользователем, и они не хотят заставлять нас иметь только один (даже если мне никогда не приходилось использовать более одного) .
2. Хорошо, правильно, причина, по которой я хотел бы использовать два блокатора, заключается в том, чтобы просто разбить разные типы операций блокировки на отдельные пулы потоков. Я подумал, что это может быть еще одна техническая причина. Спасибо!