В любой операции ввода / вывода существует вероятность необходимости поездки на жесткий диск (или другое медленное устройство ввода / вывода) и обратно.«Блокирующий» вызов - это просто вызов, ожидающий, пока выполняется ввод-вывод в оба конца - а пока ваш.Таким образом, вы можете ждать, пока не закончится чтение, и ждать записи.
Обычно это не так полезно для обычных приложений - вы хотите, чтобы ОС написала ваши данные, а затемэто больше не твоя проблема.Это становится вашей проблемой, когда вы пытаетесь гарантировать целостность данных, хранящихся на устройстве ввода-вывода (например, на жестком диске), например в системе реляционных баз данных.(Однако обратите внимание, что блокировка - не единственный метод, с помощью которого вы можете гарантировать, что ваши записи были выполнены. Также обратите внимание, что с ростом сложности компьютеров существует несколько уровней кэширования, которые могут или не могут мешать действительной блокировке.)