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

Class named_semaphore

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_semaphore

boost::interprocess::named_semaphore

Synopsis

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

class named_semaphore {
public:
  // construct/copy/destruct
  named_semaphore(create_only_t, const char *, unsigned int, 
                  const permissions & = permissions());
  named_semaphore(open_or_create_t, const char *, unsigned int, 
                  const permissions & = permissions());
  named_semaphore(open_only_t, const char *);
  ~named_semaphore();
  // public member functions
  void post();
  void wait();
  bool try_wait();
  bool timed_wait(const boost::posix_time::ptime &);
  // public static functions
  static bool remove(const char *);
};

Description

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

named_semaphore public construct/copy/destruct

  1. <
    named_semaphore(create_only_t,constchar*name,unsignedintinitialCount,
                   constpermissions&perm=permissions());
    >

    Создает глобальный семафор с именем и начальным счетом. Если семафор не может быть создан броски<interprocess_exception>

  2. <
    named_semaphore(open_or_create_t,constchar*name,
                   unsignedintinitialCount,
                   constpermissions&perm=permissions());
    >

    Открывает или создает глобальный семафор с именем и начальным счетом. Если семафор создан, этот призыв эквивалентен<named_semaphore><create_only_t>, ... Если семафор уже создан, этот вызов эквивалентен<named_semaphore><open_only_t>, ..., и первоначальный счет игнорируется.

  3. <
    named_semaphore(open_only_t,constchar*name);
    >

    Открывает глобальный семафор с именем, если этот семафор был ранее. созданный. Если раньше не создавалась эта функция бросает<interprocess_exception>.

  4. <
    ~named_semaphore();
    >

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

named_semaphore public member functions

  1. <
    voidpost();
    >

    Увеличивает количество семафоров. Если в ожидании семафора заблокированы процессы/потоки, то один из этих процессов успешно вернется из своей функции ожидания. Если есть ошибка, то делается исключение<interprocess_exception>.

  2. <
    voidwait();
    >

    Семафор уменьшается. Если значение семафора не больше нуля, то процесс вызова/потока блокирует, пока он не сможет уменьшить счетчик. Если есть ошибка, то делается исключение<interprocess_exception>.

  3. <
    booltry_wait();
    >

    Уменьшает семафор, если значение семафора больше нуля и возвращается истинным. Если значение не больше нуля, то возврат ложный. Если есть ошибка, то<interprocess_exception>исключено.

  4. <
    booltimed_wait(constboost::posix_time::ptime&abs_time);
    >

    Уменьшает семафор, если значение семафора больше нуля и возвращается истинным. В противном случае, ждет семафор к размещенному или тайм-аут истекает. Если тайм-аут истекает, функция возвращается ложной. Если семафор размещен, функция возвращается истинной. Если есть ошибка бросает сем_исключение

named_semaphore public static functions

  1. <
    staticboolremove(constchar*name);
    >

    Уничтожает из системы именуемый семафор. Возврат ложных ошибок. Никогда не бросай.


PrevUpHomeNext

Статья Class named_semaphore раздела 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 02:19:19/0.0039608478546143/0