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

~muteks

 ~Mutex(
  void
)

Publiczne funkcje statyczne

Zainicjuj

Error Init(
  Mutex & aMutex
)