Планировщики по умолчанию не ограничивают число запланированных задач, так как они используют вызов Executors.newScheduledThreadPoolExecutor()
для создания рабочих. Больше работы, чем ядер - не проблема.
Однако, если вы используете пользовательский Executor
, завернутый в планировщик, и он отклоняет работу, ошибка передается глобальному обработчику ошибок. К сожалению, это неустранимая ситуация для RxJava, поскольку он не может сигнализировать об ошибке наблюдателю из-за возможных нарушений протокола (параллелизма). (то есть, как правило, сигнал ошибки также должен быть запланирован, что может быть невозможно, так как это также может быть отклонено, плюс другая сторона может все еще выполняться одновременно.)