Re[11]: Зачем нам асинхронность?
От: alex_public  
Дата: 08.08.20 20:37
Оценка: 1 (1)
Здравствуйте, ononim, Вы писали:

_>>Забавная статья. В ней всё абсолютно правильно, кроме первого абзаца (ты видимо только его и прочитал?), в котором автор радостно заявляет, что никаких ждущих потоков нет, и потом явно показывает их наличие в статье.

O>А ты видимо из тех коментаторов статьи которые путают APC и DPC, да?

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

O>В статье объясняется что инициация асинхронной ио операции не требует постоянного выделения некоего потока для его обработки — ни в юзер моде ни в ядре.

O>Тот поток который запустил асинхронную ио операцию волен делать что угодно, а не только ждать ее исполнения. К примеру он может запустить еще десяток-два таких же, но других, операций, потом помайнить немного биткоинов и потом лишь проверить результат исполнения запущенных ио операций. В этом-то и состоит асинхронность.

Нет, не может, потому как и в данной статье и в данной темке обсуждается не абстрактный асинхронный ввод-вывод в винде, а вполне конкретная реализация его из .net. И в ней для IOCP используется специальный пул потоков, который только этим и занимается. Никто там руками не забирает сообщения из очереди IOCP и не смешивает такой код с пользовательскими вычислениям. Так что в случае только одной операции ввода-вывода в каждый момент времени, не будет ни малейшего отличия от синхронного ввода-вывода (с запуском отдельного потока), ну не считая выполнения кучи ненужного сервисного кода с очередями и т.п. в случае IOCP.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.