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

Class named_upgradable_mutex

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 named_upgradable_mutex

boost::interprocess::named_upgradable_mutex

Synopsis

Description

Восхитительный мутекс с глобальным названием, поэтому его можно найти из разных процессов. Этот мутекс не может быть помещен в общую память, и каждый процесс должен иметь свой собственный названный вверхградируемый мутекс.

named_upgradable_mutex public construct/copy/destruct

  1. named_upgradable_mutex( create_ only_t create_ only, const char * name, const permissions& perm = permissions>>>>>>>>>>>>> Если воспроизводимый мутекс не может быть создан бросками interprocess_ exception 

  2. named_upgradable_mutex(open_or_ create_t open_or_ create, const char * name, const permissions& perm=permissions>>>>>>>>>>>>>>> Если воспроизводимая мутекс создается, этот звонок эквивалентен названный_upgradable_mutex(создать_только_t, ...) Если воспроизводимыйmut уже создан, этот звонок эквивалентен названный_upgradable_mutex(open_ only_t, ... 

  3. named_upgradable_mutex(open_ only_t open_ only, const char * name);

    Распределяет глобальную воспроизводимую мутекс с именем, если эта воспроизводимая mutex ранее. создан. Если ранее эта функция не создавалась, то она бросает interprocess_ exception.

  4. ~назван_upgradable_mutex();

    Destroys *это и указывает, что процесс вызова завершен с использованием ресурса. Функция деструктора будет распределять любые системные ресурсы, выделенные системой для использования этим процессом для этого ресурса. Ресурс все еще можно открыть снова, называя открытый конструктор перегрузкой. Чтобы удалить ресурс из системы, используйте удалить().

named_upgradable_mutex public member functions

  1. void lock();

    Следы: звонящая нить пытается получить эксклюзивное право собственности на мутекс, и если другая нить имеет эксклюзивную, умеренную или воспроизводимую собственность мутекса, она ждет, пока она не получит право собственности. Throws: interprocess_ exception on error.

  2. bool try_lock();

    Effects: Призывающая нить пытается приобрести эксклюзивное владение mutex без ожидания. Если ни одна другая нить не имеет эксклюзивного, податливого или воспроизводимого владения mutex, это преуспевает. Возвращение: Если он может приобрести эксклюзивное право собственности, сразу же вернет. Если ему придется ждать, то он возвращается ложным. Throws: interprocess_ exception on error.

  3. bool Timed_lock(const boost::posix_time::ptime & abs_time);

    Effects: Призывающая нить пытается приобрести эксклюзивное владение мутируемым ожиданием, пока не появится эксклюзивная резьба. Возвращение: Если приобретает исключительное право собственности, возвращается правда. В противном случае возвращается ложным. Throws: interprocess_ exception on error.

  4. void unlock();

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

  5. void lock_sharable();

    Effects: Призывающая нить пытается получить гарантированное владение mutex, и если другая нить имеет исключительное владение mutex, ждет, пока она сможет получить право собственности. Throws: interprocess_ exception on error.

  6. bool try_lock_sharable();

    Effects: Призывающая нить пытается приобрести заядлую собственность на мутекс без ожидания. Если ни одна другая нить не имеет исключительной собственности на мутекс, это преуспевает. Возвращение: Если он может приобрести заядлую собственность, сразу же вернет. Если ему придется ждать, то он возвращается ложным. Throws: interprocess_ exception on error.

  7. bool Timed_lock_sharable(const boost::posix_time::ptime & abs_time);

    Effects: Призывающая нить пытается приобрести sое владение эксмутируемым ексмутатором до тех пор, пока не появится другое право собственности. Возвращение: Если приобретает заядлую собственность, возвращается правда. В противном случае возвращается ложным. Throws: interprocess_ exception on error.

  8. void unlock_sharable();

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

  9. void lock_upgradable();

    Effects: Призывающая нить пытается получить воспроизводимое владение mutex, и если другая нить имеет эксклюзивное или воспроизводимое владение mutex, ждет, пока она сможет получить право собственности. Throws: interprocess_ exception on error.

  10. bool try_lock_upgradable();

    Effects: Призывающая нить пытается приобрести расширяемое владение мутексом без ожидания. Если ни одна другая нить не имеет исключительной или воспроизводимой собственности на мутекс, это преуспевает. Возвращение: Если он может приобрести воспроизводимую собственность, сразу же вернет. Если ему придется ждать, то он возвращается ложным. Throws: interprocess_ exception on error.

  11. bool Timed_lock_upgradable(const boost::posix_time::ptime & abs_time);

    Effects: Призывающая нить пытается приобрести неизменяемое право владения экскурсией, если это не другое время ожидания. Возвращение: Если приобретает повышенную степень владения, возвращается к истине. В противном случае возвращается ложным. Throws: interprocess_ exception on error.

  12. void unlock_upgradable();

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

  13. void unlock_and_lock_upgradable();

    Условие: резьба должна иметь исключительное право собственности на mutex. Действие: поток атомарно высвобождает исключительную собственность и приобретает расширяемую собственность. Эта операция не блокирует. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  14. void unlock_and_lock_sharable();

    Условие: резьба должна иметь исключительное право собственности наmut. Действие: поток атомарно высвобождает исключительную собственность и приобретает заядлую собственность. Эта операция не блокирует. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  15. void unlock_upgradable_and_lock_sharable();

    Условие: резьба должна иметь повышенную степень владения mutex. Действие: поток атомарно высвобождает воспроизводимую собственность и приобретает заядлую собственность. Эта операция не блокирует. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  16. void unlock_upgradable_and_lock();

    Условие: нить должна иметь повышенную степень владения mutex. Действие: поток атомарно высвобождает расширяемую собственность и приобретает исключительную собственность. Эта операция будет блокироваться до тех пор, пока все нити с твердым владением не отпустят ее. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  17. bool try_unlock_upgradable_and_lock();

    Условие: Нить должна иметь повышенную степень владения mutex. Действие: поток атомарно высвобождает расширяемую собственность и пытается приобрести эксклюзивную собственность. Эта операция потерпит неудачу, если есть нити с твердым владением, но она будет поддерживать повышенную собственность. Возвращение: Если приобретает исключительное право собственности, возвращается правда. В противном случае возвращается ложным. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  18. bool Timed_unlock_upgradable_and_lock(const boost::posix_time::ptime & abs_time;

    Условие: Нить должна иметь повышенную степень владения mutex. Действие: поток атомарно высвобождает воспроизводимую собственность и пытается приобрести эксклюзивную собственность, ожидая при необходимости до abs_time. Эта операция потерпит неудачу, если есть нити с твердым владением или таймаутом достигает, но она будет поддерживать воспроизводимую собственность. Возвращение: Если приобретает исключительное право собственности, возвращается правда. В противном случае возвращается ложным. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  19. bool try_unlock_sharable_and_lock();

    Условие: Нить должна иметь непоколебимую собственность на мутекс. Действие: нить атомарно высвобождает заядлую собственность и пытается приобрести эксклюзивную собственность. Эта операция потерпит неудачу, если есть нити с закрученной или воспроизводимой собственностью, но она будет поддерживать непоколебимую собственность. Возвращение: Если приобретает исключительное право собственности, возвращается правда. В противном случае возвращается ложным. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

  20. bool try_unlock_sharable_and_lock_upgradable();

    Условие: резьба должна иметь резкую собственностьmut. Действие: поток атомарно высвобождает умеренную собственность и пытается приобрести расширяемую собственность. Эта операция потерпит неудачу, если есть нити с закрученной или воспроизводимой собственностью, но она будет поддерживать непоколебимую собственность. Возвращение: Если приобретает повышенную степень владения, возвращается к истине. В противном случае возвращается ложным. Выбросы: Исключение, полученное из interprocess_ exception по ошибке.

named_upgradable_mutex public static functions

  1. статический bool remove(const char * name);

    Erases a named upgradable mutex from the system. Ошибка возвращается. Никогда не бросает.


PrevUpHomeNext

Статья Class named_upgradable_mutex раздела 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-05-20 02:39:11/0.0051138401031494/0