Когда необходимо иметь более 1 экземпляра Blocker?

#scala #scala-cats #cats-effect

#scala #scala-кошки #кошки-эффект

Вопрос:

В документации Blocker есть следующий абзац:

Экземпляры этого класса НЕ должны передаваться неявно, потому что они сохраняют состояние, и в некоторых случаях вашему приложению могут потребоваться разные экземпляры Blocker.

Почему в некоторых случаях мне потребуется более одного пула потоков (и, следовательно, более 1 блокатора) для блокирования операций?

Комментарии:

1. Ну, почему бы и нет? Возможно, вы захотите иметь фиксированный пул потоков для чтения и обработки некоторых файлов CSV и другой неограниченный пул потоков для чтения из базы данных или любую другую комбинацию. Суть авторов в том, что такое решение может быть принято только вами как пользователем, и они не хотят заставлять нас иметь только один (даже если мне никогда не приходилось использовать более одного) .

2. Хорошо, правильно, причина, по которой я хотел бы использовать два блокатора, заключается в том, чтобы просто разбить разные типы операций блокировки на отдельные пулы потоков. Я подумал, что это может быть еще одна техническая причина. Спасибо!