سحب المهمة ليس اكتمالها. [1] [2]
الخلاصة السريعة
نفّذ بالترتيب
from queue import Queue
q = Queue()
q.put("A")
item = q.get()
print(q.empty())
print(item)
q.task_done()
q.join()يطبع True ثم A؛ العددان: المنتظر وغير المكتمل. put:1,1؛ get:0,1؛ task_done:0,0. [1] [2]
افصل الانتظار من التنفيذ
بعد get، ينتظر join تأكيد المعالجة؛ بعد task_done يعود. لا تستدعِ join قبل التأكيد في هذا المسار المنفرد، وإلا ستنتظر نفسك. [1] [2]

راجع التأكيد
task_done() ينقص العداد؛ الاستدعاء الزائد يرفع ValueError. الإشارة وحدها ليست فحصًا لصحة الناتج. [1] [2]
حد التتبع
تتبع متسلسل في 3.12.14؛ بالتزامن، الفراغ قد يتغير قبل استعماله. [1] [2]
المراجع
- Python: Queue وtask_done وjoin
- CPython 3.12.14: queue.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
