WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

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

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

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

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

Microsoft Windows

Microsoft Windows использует три разных механизма для управления доступом к разделяемым файлам. Дополнительные механизмы блокировки применяются к сетевым файловым ресурсам (SMB)[1].

Unix-подобные системы

Unix-подобные системы (включая Linux и OS X) обычно автоматически не блокируют открытые файлы[2]. В них предусмотрен системный вызов flock, однако он никак не ограничивает доступ к файлам из других процессов и лишь служит способом синхронизации доступа к файлу между несколькими процессами.

Также существует метод «fcntl(F_SETLK)» и «fcntl(F_GETLK)», описанный в стандартах POSIX[3][4].

Amiga ОС

В ОС Amiga можно получить блокировку файла, вызвав функцию Lockdos.library).

Системы контроля версий

Примечания

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии