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