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, co ułatwia korzystanie z obiektów o czasie przechowywania (static) i niezainicjowanej pamięci. Do zainicjowania użyj metody Init. Operatory kopiowania/przenoszenia nie są dostępne.

Konstruktory i niszczyciele

Mutex(void)
~Mutex(void)

Funkcje publiczne

Lock(void)
void
Uzyskaj wzajemną blokadę wykluczania i w razie potrzeby zablokuj bieżący wątek na stałe.
Unlock(void)
void
Odblokuj wzajemną blokadę wykluczania (w niektórych systemach może to być zablokowane, dopóki algorytm szeregowania nie zakończy działania).

Publiczne funkcje statyczne

Init(Mutex & aMutex)
Error

Funkcje publiczne

Zablokuj

void Lock(
  void
)

Uzyskaj wzajemną blokadę wykluczania i w razie potrzeby zablokuj bieżący wątek na stałe.

Wyciszenie

 Mutex(
  void
)

Odblokuj

void Unlock(
  void
)

Odblokuj wzajemną blokadę wykluczania (w niektórych systemach może to być zablokowane, dopóki algorytm szeregowania nie zakończy działania).

~Mutex

 ~Mutex(
  void
)

Publiczne funkcje statyczne

Init

Error Init(
  Mutex & aMutex
)