نجرب قفلًا جديدًا بلا خيوط عاملة. [1] [2]
الخلاصة السريعة
لا؛ فشل المحاولة الثانية لا يحرر القفل المكتسب أولًا. [1] [2]
المثال
import _thread lock=_thread.allocate_lock() lock.acquire() print(lock.acquire(False),lock.locked()) lock.release() print(lock.locked())
النتيجة والحالة
القفل هنا بدائي، لا عداد مرات اكتساب. افصل بين نتيجة محاولة الاكتساب وحالة القفل؛ الفشل لا ينفذ release. ولو حررناه قبل المحاولة الثانية، تنجح وتصبح الحالة مقفلة مجددًا. [1] [2]

الحدود
لم ننشئ خيطًا عاملًا أو نختبر السباقات وترتيب الانتظار. لا تستبدل المحاولة الثانية باكتساب حاجب في هذا المثال؛ القفل ما زال مقفلًا. [1] [2]
المراجع
- Python: _thread والقفل
- CPython3.12.14: _threadmodule.c
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
