2015-06-16 3 views
-2

Неблокирующий ввод-вывод обычно означает, что когда поток считывает данные, он получает как можно больше данных, а затем немедленно возвращается. Тем не менее, я не могу понять, как писать данные, используя ту же концепцию. При каких обстоятельствах будет разбиваться запись данных с использованием неблокирующего ввода-вывода и запись в сегментах?Неблокирующий ввод-вывод

+1

Представьте, что у вас есть устройство вывода, которое занимает 1 байт в секунду. Вы пишете массив неблокирующимся способом, так что вам не придется ждать. – Andrey

ответ

0

Если вы пишете много файлов одновременно, и они проживают на медленном носителе или в медленной сети (возможно, при загрузке), вы можете использовать неблокирующие записи и обрабатывать все файлы в одном потоке.

Поток просыпается каждые несколько минут и просматривает все файлы, пытаясь записать любые оставшиеся байты, отслеживая, сколько из них было успешно записано.

Смежные вопросы