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

Блокировка на основе атомарного вращения для очень коротких критических секций. Подробнее...

#include <pispinlock.h>

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

 PISpinlock ()
 Создает незаблокированный спинлок
 
 ~PISpinlock ()
 Деструктор спинлока
 
void lock ()
 Захватывает спинлок, активно ожидая его освобождения.
 
void unlock ()
 Освобождает спинлок.
 

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

Блокировка на основе атомарного вращения для очень коротких критических секций.

Быстрая блокировка с полной нагрузкой

PISpinlock предоставляет межпотоковую защиту критических секций кода. Функционально он аналогичен PIMutex, однако работает на атомарном типе и ожидание разблокировки в методе lock() нагружает ядро ЦП на 100%.

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

Заметки

Используйте этот класс вместо PIMutex когда время ожидания гораздо важнее чем нагрузка на ЦП!