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

Class interprocess_condition

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 interprocess_condition

boost::interprocess::interprocess_condition

Synopsis

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

class interprocess_condition {
public:
  // construct/copy/destruct
  interprocess_condition();
  ~interprocess_condition();
  // public member functions
  void notify_one();
  void notify_all();
  template<typename L> void wait(L &);
  template<typename L, typename Pr> void wait(L &, Pr);
  template<typename L> bool timed_wait(L &, const boost::posix_time::ptime &);
  template<typename L, typename Pr> 
    bool timed_wait(L &, const boost::posix_time::ptime &, Pr);
};

Description

Этот класс представляет собой переменную состояния, которая может быть размещена в общей памяти или картированных файлах памяти. Уничтожает объект типа std::condition_variable_any

В отличие от std::condition_variable в C++11, не безопасно вызывать деструктор, если все потоки были только уведомлены. Необходимо, чтобы они вышли из своих соответствующих функций ожидания.

interprocess_condition public construct/copy/destruct

  1. interprocess_condition();
    Построениемежпроцессного состояния. Об ошибкахInterprocess_ Исключение.
  2. ~interprocess_condition;

    Уничтожает эти освобождающие системные ресурсы.

interprocess_condition public member functions

  1. voidуведомить_one;

    Если есть нить, ожидающая этого, измените состояние этой нити на готовое. В противном случае эффекта нет.

  2. voidNotify_all;

    Измените состояние всех потоков, ожидающих *это готово. Если нет потоков ожидания, уведомить_all() не имеет никакого эффекта.

  3. шаблон<имяL>пустотаожиданиеL&замок;

    Отпускает блокировку на объектеinterprocess_mutex, связанном с блокировкой, блокирует текущий поток выполнения до тех пор, пока не будет подготовлен вызов на этот->notify_one() или этот->notify_all(), а затем вновь приобретает замок.

  4. шаблон<имя типаL,имя типаPr>пустотаждатьL&замок,Prpred;

    То же, что: пока (!pred()) ждите (lock)

  5. шаблон<имя типаL>booltimed_waitL&замок,constboost::posix_time::ptimeptime&abs_time];

    Отпускает блокировку на объектеinterprocess_mutex, связанном с блокировкой, блокирует текущий поток выполнения до тех пор, пока не будет подготовлен вызов к этому->notify_one() или этому->notify_all(), или пока не будет достигнуто время abs_time, а затем вновь приобретает замок. Возврат: ложный, если время abs_time достигнуто, в противном случае истинно.

  6. шаблон<имя типаимя типаPr>booltimed_waitL&

    замок,констбустерposix_time::ptime&abs_time,Prpred;[ То же самое, что: в то время как (!pred()) {, если (!timed_wait(lock, abs_time)) вернуть pred(); } вернуть истинно;


Статья Class interprocess_condition раздела 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-19 22:51:50/0.0087769031524658/1