Class file_lock
boost::interprocess::file_lock
Synopsis
Description
Файловый замок - это утилита взаимного исключения, похожая на mutex с использованием файла. Файловый замок имеет съемные и эксклюзивные возможности блокировки и может использоваться с классами scoped_lock и sharable_lock. Файловый замок не может гарантировать синхронизацию между потоками одного и того же процесса, поэтому просто используйте файловые замки для синхронизации потоков из разных процессов.
file_lock
public
construct/copy/destruct
file_lock();
Создает пустое отображение файла. Не бросать
file_lock(const char name);
Открывает замок файла. Выбрасывает interprocess_ Exception
, если файл не существует или нет ресурсов операционной системы.
file_lock(file_lock && moved);
Переносит право собственности на объект отображения файлов «перемещенного» на *это. После вызова «перемещенный» не представляет собой какой-либо объект отображения файлов. Не бросать
file_lock &оператор=(file_lock && перемещен ;
Переносит право собственности на отображение файла "перемещенного" на *это. После вызова «перемещенный» не представляет собой картографирование файлов. Не бросать
~file_lock();
Закрывает замок файла. Не бросает.
file_lock
public member functions
void swap(file_lock & other);
Swaps two file_locks. Не бросает.
void lock();
Последствия: Вызывающая нить пытается получить эксклюзивное право собственности на мутекс, и если другая нить имеет эксклюзивное или съемное право собственности на мутекс, она ждет, пока не сможет получить право собственности. Броски: interprocess_ Exception
по ошибке.
bool try_lock();
Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex без ожидания. Если ни одна другая нить не имеет эксклюзивного или съемного права собственности на mutex, это удается. Возвращение: Если он может приобрести эксклюзивное право собственности сразу же возвращается. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception
по ошибке.
booltimed_lock(constboost::posix_time::ptime& abs_time;
Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex до тех пор, пока не будет достигнута эксклюзивная или сельскохозяйственная собственность на mutex или abs_time. Возвращение: Если приобретается исключительное право собственности, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception
по ошибке.
void unlock();
Предварительное условие: резьба должна иметь исключительное право собственности на mutex. Эффекты: вызывающая нить освобождает исключительное право собственности на mutex. Броски: Исключение, полученное из interprocess_ Exception
по ошибке.
void lock_sharable();
Последствия: Вызывающая нить пытается получить съемное право собственности на мутекс, и если другая нить имеет исключительное право собственности на мутекс, ждет, пока она сможет получить право собственности. Броски: interprocess_ Exception
по ошибке.
bool try_lock_sharable();
Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex без ожидания. Если ни одна другая нить не имеет исключительного права собственности на mutex, это удается. Возвращение: Если он может приобрести сельскохозяйственную собственность, немедленно возвращается правда. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception
по ошибке.
booltimed_lock_sharable(constboost::posix_time::ptime&abs_time;
Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex, ожидая при необходимости, пока не будет достигнута эксклюзивная собственность на mutex или abs_time. Возвращение: Если приобретается сельскохозяйственная собственность, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception
по ошибке.
void unlock_sharable();
Предпосылка: резьба должна иметь сшарное владение mutex. Эффекты: вызывающая нить освобождает съедобное владение мутексом. Броски: Исключение, полученное из interprocess_ Exception
по ошибке.