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.

สรุป

การล็อกเป็นแบบเกิดซ้ำและไม่สามารถใช้ในบริบทของการขัดจังหวะฮาร์ดแวร์ ตัวสร้างและตัวทำลายได้รับการกำหนดเป็นฟังก์ชัน Null เพื่ออำนวยความสะดวกในการใช้ออบเจ็กต์ที่มีระยะเวลาพื้นที่เก็บข้อมูล static และหน่วยความจำเริ่มต้น ใช้เมธอด Init เพื่อเริ่มต้น ไม่มีโอเปอเรเตอร์การคัดลอก/ย้าย

ผู้ผลิตและผู้ทำลาย

Mutex(void)
~Mutex(void)

ฟังก์ชันสาธารณะ

Lock(void)
void
รับการล็อกการยกเว้นร่วมกัน โดยบล็อกเทรดปัจจุบันโดยไม่มีกำหนดหากจำเป็น
Unlock(void)
void
ปล่อยการล็อกการยกเว้นร่วมกัน (สามารถบล็อกในบางระบบจนกว่าเครื่องจัดตารางเวลาจะเสร็จสมบูรณ์)

ฟังก์ชันสาธารณะแบบคงที่

Init(Mutex & aMutex)
Error

ฟังก์ชันสาธารณะ

ล็อก

void Lock(
  void
)

รับการล็อกการยกเว้นร่วมกัน โดยบล็อกเทรดปัจจุบันโดยไม่มีกำหนดหากจำเป็น

ปิดเสียง

 Mutex(
  void
)

ปลดล็อก

void Unlock(
  void
)

ปล่อยการล็อกการยกเว้นร่วมกัน (สามารถบล็อกในบางระบบจนกว่าเครื่องจัดตารางเวลาจะเสร็จสมบูรณ์)

~Mutex

 ~Mutex(
  void
)

ฟังก์ชันสาธารณะแบบคงที่

Init

Error Init(
  Mutex & aMutex
)