PIP 5.5.3
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Класс PIMutex

Простой мьютекс Подробнее...

#include <pimutex.h>

Открытые члены

 PIMutex ()
 Создает незаблокированный мьютекс
 
 ~PIMutex ()
 Деструктор мьютекса
 
void lock ()
 Блокирует мьютекс Подробнее...
 
void unlock ()
 Разблокирует мьютекс Подробнее...
 
bool tryLock ()
 Пробует заблокировать мьютекс
 

Подробное описание

Простой мьютекс

Краткий обзор

PIMutex предоставляет межпотоковую защиту критических секций кода. Использование мьютекса гарантирует выполнение секции только один потоком. Мьютекс состоит из логического состояния и методов для его изменения: lock(), unlock() and tryLock().

Для автоматической блокировки-разблокировки используйте PIMutexLocker.

Использование

Части кода, которые должны быть выполнены только одним потоком в любой момент времени должны начинаться с вызова lock() и заканчиваться вызовом unlock().

// critical section start
mutex.lock();
// ... your code here
mutex.unlock();
// critical section end

Методы

◆ lock()

void PIMutex::lock ( )

Блокирует мьютекс

Если мьютекс свободен, то блокирует его и возвращает управление немедленно. Если мьютекс заблокирован, то ожидает разблокировки, затем блокирует и возвращает управление

◆ unlock()

void PIMutex::unlock ( )

Разблокирует мьютекс

В любом случае возвращает управление немедленно