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.
Podsumowanie
Blokada nie jest rekurencyjna i nie można jej używać w kontekście przerw w działaniu sprzętu. Konstruktor i destruktor są zdefiniowane jako funkcje o wartości null, które ułatwiają korzystanie z obiektów o czasie przechowywania wynoszącym static
i niezainicjowanej pamięci. Do inicjowania użyj metody Init
. Nie podano operatorów kopiowania/przenoszenia.
Konstruktorzy i niszczyciele |
|
---|---|
Mutex(void)
|
|
~Mutex(void)
|
Funkcje publiczne |
|
---|---|
Lock(void)
|
void
Użyj wzajemnej blokady wykluczenia, blokując w razie potrzeby bieżący wątek na stałe.
|
Unlock(void)
|
void
Zwolnij wzajemną blokadę wykluczania (może to blokować w niektórych systemach do czasu zakończenia działania algorytmu szeregowania).
|
Publiczne funkcje statyczne |
|
---|---|
Init(Mutex & aMutex)
|
Error
|
Funkcje publiczne
Zamek
void Lock( void )
Użyj wzajemnej blokady wykluczenia, blokując w razie potrzeby bieżący wątek na stałe.
muteks
Mutex( void )
Odblokuj
void Unlock( void )
Zwolnij wzajemną blokadę wykluczania (może to blokować w niektórych systemach do czasu zakończenia działania algorytmu szeregowania).