Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class file_lock

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Indexes and Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class file_lock

boost::interprocess::file_lock

Synopsis

// In header: <boost/interprocess/sync/file_lock.hpp>

class file_lock {
public:
  // construct/copy/destruct
  file_lock();
  file_lock(const char *);
  file_lock(file_lock &&);
  file_lock & operator=(file_lock &&);
  ~file_lock();
  // public member functions
  void swap(file_lock &);
  void lock();
  bool try_lock();
  bool timed_lock(const boost::posix_time::ptime &);
  void unlock();
  void lock_sharable();
  bool try_lock_sharable();
  bool timed_lock_sharable(const boost::posix_time::ptime &);
  void unlock_sharable();
};

Description

Файловый замок - это утилита взаимного исключения, похожая на mutex с использованием файла. Файловый замок имеет съемные и эксклюзивные возможности блокировки и может использоваться с классами scoped_lock и sharable_lock. Файловый замок не может гарантировать синхронизацию между потоками одного и того же процесса, поэтому просто используйте файловые замки для синхронизации потоков из разных процессов.

file_lock public construct/copy/destruct

  1. file_lock();

    Создает пустое отображение файла. Не бросать

  2. file_lock(const char  name);

    Открывает замок файла. Выбрасывает interprocess_ Exception, если файл не существует или нет ресурсов операционной системы.

  3. file_lock(file_lock && moved);

    Переносит право собственности на объект отображения файлов «перемещенного» на *это. После вызова «перемещенный» не представляет собой какой-либо объект отображения файлов. Не бросать

  4. file_lock &оператор=(file_lock && перемещен ;

    Переносит право собственности на отображение файла "перемещенного" на *это. После вызова «перемещенный» не представляет собой картографирование файлов. Не бросать

  5. ~file_lock();
    Закрывает замок файла. Не бросает.

file_lock public member functions

  1. void swap(file_lock & other);

    Swaps two file_locks. Не бросает.

  2. void lock();

    Последствия: Вызывающая нить пытается получить эксклюзивное право собственности на мутекс, и если другая нить имеет эксклюзивное или съемное право собственности на мутекс, она ждет, пока не сможет получить право собственности. Броски: interprocess_ Exception по ошибке.

  3. bool try_lock();

    Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex без ожидания. Если ни одна другая нить не имеет эксклюзивного или съемного права собственности на mutex, это удается. Возвращение: Если он может приобрести эксклюзивное право собственности сразу же возвращается. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception по ошибке.

  4. booltimed_lock(constboost::posix_time::ptime& abs_time;

    Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex до тех пор, пока не будет достигнута эксклюзивная или сельскохозяйственная собственность на mutex или abs_time. Возвращение: Если приобретается исключительное право собственности, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception по ошибке.

  5. void unlock();

    Предварительное условие: резьба должна иметь исключительное право собственности на mutex. Эффекты: вызывающая нить освобождает исключительное право собственности на mutex. Броски: Исключение, полученное из interprocess_ Exception по ошибке.

  6. void lock_sharable();

    Последствия: Вызывающая нить пытается получить съемное право собственности на мутекс, и если другая нить имеет исключительное право собственности на мутекс, ждет, пока она сможет получить право собственности. Броски: interprocess_ Exception по ошибке.

  7. bool try_lock_sharable();

    Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex без ожидания. Если ни одна другая нить не имеет исключительного права собственности на mutex, это удается. Возвращение: Если он может приобрести сельскохозяйственную собственность, немедленно возвращается правда. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception по ошибке.

  8. booltimed_lock_sharable(constboost::posix_time::ptime&abs_time;

    Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex, ожидая при необходимости, пока не будет достигнута эксклюзивная собственность на mutex или abs_time. Возвращение: Если приобретается сельскохозяйственная собственность, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception по ошибке.

  9. void unlock_sharable();

    Предпосылка: резьба должна иметь сшарное владение mutex. Эффекты: вызывающая нить освобождает съедобное владение мутексом. Броски: Исключение, полученное из interprocess_ Exception по ошибке.


PrevUpHomeNext

Статья Class file_lock раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Indexes and Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 03:18:29/0.0041320323944092/0