Вопросы к Поиску с Алисой
Основное отличие асинхронного ввода-вывода от мультиплексированного заключается в том, как происходит обработка операций ввода-вывода. tproger.ru
Мультиплексированный ввод-вывод блокирует поток на операциях ввода-вывода, но позволяет запланировать все необходимые операции и заблокировать их все. tproger.ru Операционная система будит поток, когда какая-нибудь из операций завершится. tproger.ru В некоторых реализациях можно указать, что поток нужно разбудить только после завершения определённого набора операций. tproger.ru
Асинхронный ввод-вывод позволяет процессу выстраивать очередь операций файлового ввода-вывода, а затем получать уведомления при завершении операции. onreader.mdl.ru Первоначальный вызов ввода-вывода возвращается немедленно, поэтому процесс не связан ожиданием, что данные должны быть переданы в ядро или что операция завершится. onreader.mdl.ru Это даёт возможность процессу выполнять прочие задачи одновременно с самим вводом-выводом. onreader.mdl.ru
Таким образом, мультиплексированный ввод-вывод подходит для программ, у которых нет других задач, пока они ждут завершения операций ввода-вывода, а асинхронный ввод-вывод — для программ, которые могут выполнять другие задачи одновременно с вводом-выводом. tproger.ru