169 похожих чатов

Что лучше использовать вместо inputStream.read и outputStream.write в корутинах, чтобы

избежать блокирования потока?

9 ответов

11 просмотров

Java.nio, но под него над довольно сильно логику менять

Alexander Nozik
Java.nio, но под него над довольно сильно логику м...

по одному байтику писать / читать в flow не вариант ?

Alexander Nozik
Где оно неблокирующее?

нет ну оно блокирущее, но там блокируется только на один байт flow { stream.readByte() }.toList() но я не спорю, что это какая-то фигня, мне просто интересно.

Aλex Sokol
нет ну оно блокирущее, но там блокируется только н...

Короче, по одному байту читать - самый худший вариант

Смотря сколько у вас этого самого IO. Если один-два дескриптора, то nio - оверкилл, достаточно в Dispatchers.IO вынести ввод-вывод. Если много - то nio/nio2

Michael-Mazaev Автор вопроса
Kirill Gamazkov
Смотря сколько у вас этого самого IO. Если один-дв...

Вполне возможно оверкилл Но мне интересно разобраться, чтобы знать что к чему в будущем

Michael Mazaev
Вполне возможно оверкилл Но мне интересно разобрат...

Примерно так: nio на коллбэках. JVM под капотом держит небольшой тредпул, который возится с ожиданием файлов/сети и дёргает ваши коллбэки. nio2 - через polling, вы сами рулите тредами, которые подёргивают JVM за селекторы на тему "ну чо там, прочиталося уже? а теперь? а щас? а ещё нет?" - по идее лучше ложится на корутины, но в рукопашную это всё писать, наверное, не стоит

Похожие вопросы

Обсуждают сегодня

$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
окей, дело реально в org было. но что за мусор в конце?
Vi Chapmann
15
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
Есть тут крутые SQL-маньяки (в частности postgresql)? Нужна помощь, совет, что-то всю голову сломал, не могу придумать как реализовать нужное. Есть вот такой набор данных: f...
Alex
11
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
18
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Карта сайта