Асинхронный ввод-вывод: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Kakty3 (обсуждение | вклад) мНет описания правки |
Kakty3 (обсуждение | вклад) мНет описания правки |
||
Строка 8:
В качестве альтернативы, можно инициировать операцию ввода/вывода, а затем выполнять обработку, которая не требует завершения операции ввода/вывода. Такой подход называется [[Асинхронность|асинхронный]] ввод/вывод. Любая задача, которая зависит от завершения ввода/вывода, (в том числе как использование значений ввода, так и критических операций, которые подтверждают, что операция вывода была завершена) по-прежнему вынуждена ожидать завершения операции ввода/вывода, и, таким образом, прежнему быть заблокированной, но другая обработка, которая не имеет зависимости от операции ввода/вывода может быть продолжена.
Существует множество функций операционной системы, позволяющих реализовать асинхронный ввод/вывод на различных уровнях. На самом деле, одной из главных функций всех, кроме самых элементарных, [[операционные системы|операционных систем]] является выполнение базового асинхронного ввода/вывода, хотя это может быть не особенно очевидно для оператора или программиста. В простейшем программном решении, статус аппаратного устройства [[Пулинг|опрашивается]]<ref>{{Cite web|url = https://msdn.microsoft.com/ru-RU/ru/library/bb399543.aspx|title = Организация пулов соединений|author = MSDN|publisher = MSDN}}</ref> раз в
Асинхронный ввод/вывод используется для улучшения пропускной способности и уменьшения задержки и/или времени реагирования.
|