nl:: Weave:: System:: Mutex
#include <src/system/SystemMutex.h>
This class represents a simple mutual exclusion lock used on platforms with preemptively scheduled multi-threaded programming environments, for example, POSIX threads and FreeRTOS.
Сводка
Блокировка не является рекурсивной и не может использоваться в контексте аппаратного прерывания. Конструктор и деструктор определены как нулевые функции, чтобы упростить использование объектов с длительностью хранения static и неинициализированной памятью. Используйте метод Init для инициализации. Операторы копирования и перемещения не предоставляются.
Конструкторы и деструкторы |
|
|---|---|
Mutex(void)
|
|
~Mutex(void)
|
Общественные функции |
|
|---|---|
Lock(void)
|
void
Получить блокировку взаимного исключения, при необходимости заблокировав текущий поток на неопределенный срок.
|
Unlock(void)
|
void
Снять блокировку взаимного исключения (на некоторых системах может блокироваться до завершения работы планировщика).
|
Общедоступные статические функции |
|
|---|---|
Init(Mutex & aMutex)
|
Error
|
Общественные функции
Заблокировать
void Lock( void )
Получить блокировку взаимного исключения, при необходимости заблокировав текущий поток на неопределенный срок.
Блокировка
Mutex( void )
Разблокировать
void Unlock( void )
Снять блокировку взаимного исключения (на некоторых системах может блокироваться до завершения работы планировщика).