Почему rxjava использует поток для ввода-вывода - PullRequest
0 голосов
/ 26 февраля 2019

В модели цикла событий для асинхронного цикла событий есть только один поток, который прослушивает ответ от операций ввода-вывода.Это позволяет циклу событий выполнять тысячи вызовов ввода-вывода без блокировки.

Но в модели rxJava для asyn мы потребляем поток, который ожидает ввода / вывода.В этом случае у нас будет жесткое ограничение на число одновременных операций ввода-вывода, которые мы можем выполнить, поскольку в конечном итоге у нас закончатся потоки и мы начнем блокировать ожидание освобождения ресурсов.

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

Является ли модель rxJava более эффективной, чем цикл обработки событий?

Есть ли способ оптимизировать rxJava, чтобы никогда не оказаться в таком состоянии блокировки?

...