Spec-Zone.ru › Dart 2

dart:io

Метод lock

Future<RandomAccessFile> lock(
  1. [FileLock mode = FileLock.exclusive,
  2. int start = 0,
  3. int end = -1]
)

Блокирует файл или часть файла.

По умолчанию будет получен эксклюзивный замок, но это может быть переопределено аргументом mode.

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

Для получения эксклюзивного замка на файле он должен быть открыт для записи.

Если mode равен FileLock.exclusive или FileLock.shared, появляется ошибка, если замок не может быть получен. Если mode равен FileLock.blockingExclusive или FileLock.blockingShared, возвращаемое Future разрешается только когда замок получен.

ПРИМЕЧАНИЕ блокировка файлов имеет незначительные различия в поведении на разных платформах:

В Linux и OS X используются консультативные блокировки, которые имеют неожиданную семантику, что все блокировки, связанные с данным файлом, удаляются при закрытии любого дескриптора файла этого файла процессом. Обратите внимание, что это фактически не блокирует доступ к файлу. Также обратите внимание, что консультативные блокировки действуют на уровне процесса. Это означает, что несколько изолятов в одном процессе могут получить эксклюзивный замок на один и тот же файл.

В Windows области, используемые для блокировки и разблокировки, должны совпадать. Если это не так, разблокировка приведет к ошибке ОС "Сегмент уже разблокирован".

Реализация

Future<RandomAccessFile> lock(
    [FileLock mode = FileLock.exclusive, int start = 0, int end = -1]);

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-io/RandomAccessFile/lock.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API