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 )
ปลดล็อกการยกเว้นร่วมกัน (สามารถบล็อกได้ในบางระบบจนกว่าเครื่องจัดตารางเวลาจะเสร็จสิ้น)