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

 Mutex(
  void
)

ปลดล็อก

void Unlock(
  void
)

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

~Mutex

 ~Mutex(
  void
)

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

เริ่มต้น

Error Init(
  Mutex & aMutex
)