Здравствуйте, ononim, Вы писали:
O>>>А ты видимо из тех коментаторов статьи которые путают APC и DPC, да? _>>Ну раз ты так считаешь, что конечно же укажешь место в моих сообщениях, где я их спутал? ) O>В твоих нет, но в первых коментах к той статье там явно начали аргументировать что DPC — это обязательно поток, похоже коментатор исходил из предположения что DPC -это APC. Но это не так. APC — шедулится на поток, DPC шедулится на процессор.
Не, к нулевому кольцу у меня вообще никаких вопросов нет. Вопросы только к 3-му кольцу. И то, претензии даже не к самой реализации, а скорее к её пониманию некоторыми программистами, наслушавшимися байек от еангелистов MS.
O>>>Тот поток который запустил асинхронную ио операцию волен делать что угодно, а не только ждать ее исполнения. К примеру он может запустить еще десяток-два таких же, но других, операций, потом помайнить немного биткоинов и потом лишь проверить результат исполнения запущенных ио операций. В этом-то и состоит асинхронность. _>>Нет, не может, потому как и в данной статье и в данной темке обсуждается не абстрактный асинхронный ввод-вывод в винде, а вполне конкретная реализация его из .net. И в ней для IOCP используется специальный пул потоков, который только этим и занимается. O>Ну, в внутренностях дотнетов я не копенгаген — б-г миловал. Но можно предположить что количество потоков в этом пуле максимум — соразмерно колву логических CPU. То есть все еще можно запустить 100500 операций — а количество потоков в пуле от этого не вырастет, просто они результаты будут все по-очереди разгребать. Условие "IO операция != поток" вполне выполняется.
Так с этим никто и не спорил. Собственно я тут первый говорил, что для тысяч одновременных операций только так и надо. Только вот некоторые программисты, услышав о страшной эффективности "асинхронщины" (и пропустив мимо ушей, что речь шла о тысячах одновременных операций), начинают считать её серебряной пулей и использовать её вообще для всего (даже для банального чтения одного конфигурационного файла). Хотя на самом деле, для большинства случаев классический синхронный ввод-вывод и проще и эффективнее.