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