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по ошибке.