Существует ли асинхронный файловый IO? Собственно услышал тезис, что "асинхронного файлового IO не существует". Разве это так? Если я правильно понимаю, то вся асинхронность что в сетевом IO, что в файловом строится на опросе буферов\сокетов о наличии данных.
Поправьте если не ошибаюсь.

21 Авг 2019 в 06:20
247 +1
0
Ответы
1

Да, асинхронный файловый ввод/вывод (IO) существует. В операционных системах семейства Windows, например, можно использовать асинхронные функции чтения и записи файлов, такие как ReadFileEx и WriteFileEx с указанием параметра OVERLAPPED для указания асинхронной операции. В Unix-подобных системах также существует возможность использовать асинхронные операции ввода/вывода с файлами с помощью функций, таких как aio_read и aio_write.

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

Однако, возможность использования асинхронного файлового IO может быть полезна в определенных случаях, например, когда необходимо выполнять асинхронные операции чтения и записи файлов в одном и том же потоке ввода/вывода.

20 Апр 2024 в 13:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир