![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Быстрая блокировка с полной нагрузкой Подробнее...
#include <pispinlock.h>
Открытые члены | |
| PISpinlock () | |
| Создает незаблокированный спинлок | |
| ~PISpinlock () | |
| Деструктор спинлока | |
| void | lock () |
| Блокирует спинлок Подробнее... | |
| void | unlock () |
| Разблокирует спинлок Подробнее... | |
Быстрая блокировка с полной нагрузкой
PISpinlock предоставляет межпотоковую защиту критических секций кода. Функционально он аналогичен PIMutex, однако работает на атомарном типе и ожидание разблокировки в методе lock() нагружает ядро ЦП на 100%.
Для автоматической блокировки-разблокировки используйте PISpinlockLocker.
Используйте этот класс вместо PIMutex когда время ожидания гораздо важнее чем нагрузка на ЦП!
|
inline |
Блокирует спинлок
Если спинлок свободен, то блокирует его и возвращает управление немедленно. Если спинлок заблокирован, то ожидает разблокировки, затем блокирует и возвращает управление
|
inline |
Разблокирует спинлок
В любом случае возвращает управление немедленно