mutex --- mutex module¶
โมดูล mutex มีพรีมิทีฟ mutual-exclusion สำหรับปกป้องส่วนวิกฤตของโค้ดหรือข้อมูลที่ใช้ร่วมกันจากการเข้าถึงพร้อมกันโดย interrupt service routine และเธรดหลัก
การได้รับและปล่อย lock ดำเนินการผ่าน context manager (คำสั่ง with) ซึ่งบล็อกจนกว่า mutex จะพร้อมใช้งาน มีเมธอด Mutex.test() แบบไม่บล็อกด้วย
ตัวอย่าง:
from mutex import Mutex
mtx = Mutex()
# Acquire for a critical section (blocks if already held).
with mtx:
# ... protected code, e.g. shared buffer access ...
pass
# Or try without blocking.
if mtx.test():
try:
# ... protected code ...
pass
finally:
mtx.release()
class Mutex -- mutex object¶
- class mutex.Mutex¶
สร้างออบเจ็กต์ mutex ที่ไม่ถูกล็อก
- release() None¶
ปลดล็อก mutex เกิด
mutex.MutexExceptionถ้า mutex ไม่ได้ถูกล็อกอยู่
ข้อยกเว้น¶
- exception mutex.MutexException¶
Subclass ของ
OSErrorเกิดขึ้นโดยMutex.releaseเมื่อ mutex ถูกปลดล็อกอยู่แล้ว