mutex --- وحدة mutex¶
توفّر وحدة mutex بدائية إقصاء متبادل لحماية الأقسام الحرجة من الشيفرة أو البيانات المشتركة من الوصول المتزامن من قِبل روتين خدمة المقاطعة والخيط الرئيسي.
يُجرى اكتساب القفل وتحريره عبر مدير سياق (عبارة 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¶
- class mutex.Mutex¶
ينشئ كائن mutex غير مقفل.
- release() None¶
يفتح قفل الـ mutex. يُطلق
mutex.MutexExceptionإذا لم يكن الـ mutex مقفلًا حاليًا.
الاستثناءات¶
- exception mutex.MutexException¶
فئة فرعية من
OSError. تُطلَق بواسطةMutex.releaseعندما يكون الـ mutex غير مقفل بالفعل.