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.
Riepilogo
Il blocco non è ricorsivo e non può essere utilizzato in un contesto di interruzione hardware. Il costruttore e il distruttore sono definiti come funzioni nulle per facilitare l'utilizzo di oggetti con durata di archiviazione di static
e memoria non inizializzata. Utilizza il metodo Init
per l'inizializzazione. Gli operatori di copia/spostamento non sono specificati.
Costruttori e distruttori |
|
---|---|
Mutex(void)
|
|
~Mutex(void)
|
Funzioni pubbliche |
|
---|---|
Lock(void)
|
void
Acquisisci il blocco di mutua esclusione, bloccando il thread corrente a tempo indeterminato se necessario.
|
Unlock(void)
|
void
Rilascia il blocco di mutua esclusione (può bloccarsi su alcuni sistemi fino al completamento dello scheduler).
|
Funzioni statiche pubbliche |
|
---|---|
Init(Mutex & aMutex)
|
Error
|
Funzioni pubbliche
Blocca
void Lock( void )
Acquisisci il blocco di mutua esclusione, bloccando il thread corrente a tempo indeterminato se necessario.
Disattivazione
Mutex( void )
Sblocca
void Unlock( void )
Rilascia il blocco di mutua esclusione (può bloccarsi su alcuni sistemi fino al completamento dello scheduler).