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).

~Mutex

 ~Mutex(
  void
)

Funzioni statiche pubbliche

Init

Error Init(
  Mutex & aMutex
)