Блокировка файла

Блокировка файла (англ. file locking) — механизм, который ограничивает доступ к файлу, давая доступ в данный момент только одному пользователю или процессу. Системы реализуют блокировку для предотвращения классического interceding update сценария (который является типичным примером состояния гонки) посредством принуждения к последовательным процессам обновления любого файла.

Следующий пример демонстрирует проблему interceding update:

  1. Процесс A читает запись о клиенте из файла, содержащего бухгалтерскую информацию. включая остаток денег на счете клиента и его номер телефона.
  2. Процесс B тогда же читает ту же самую запись из того же файла, Так что у него есть своя копия записи.
  3. Процесс A изменяет остаток на счете в своей копии записи и пишет запись обратно в файл
  4. Процесс B, который все ещё имеет изначальное значение остатка на счете в своей копии записи, обновляет остаток и пишет обратно в файл.
  5. В итоге процесс B записал свое неактуальное значение остатка в файл, приведя к потере изменений, сделанных процессом A.

Неправильное использование блокировки файла, как и любой блокировки, может привести к снижению производительности или взаимной блокировке.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я