multithreading - python Queue get()/task_done() issue -
कतार के मेरे उपभोक्ता पक्ष:
m = queue.get () कतार कार्य_ऑन () & lt; बाकी प्रोग्राम & gt;
प्रश्न:
-
क्या
task_done ()
प्रभावी रूप सेm
कतार बंद पॉप करता है और कतार पर उपभोक्ता को जो भी ताला लगा है उसे रिलीज करना है? -
मुझे बाकी कार्यक्रम के दौरान
m
का उपयोग करना होगा क्या यह सुरक्षित है, या मुझे कॉल करने से पहले मुझे इसे कॉपी करने की आवश्यकता हैtask_done ()
? P>
नहीं, queue.get ()
कतार बंद आइटम चबूतरे ऐसा करने के बाद, आप जो भी चाहें कर सकते हैं, जब तक कि निर्माता इसे पसंद करता है और अब इसे स्पर्श नहीं करता। queue.task_done ()
को केवल कतार को सूचित करने के लिए कहा जाता है कि आप कुछ के साथ किया (यह विशिष्ट आइटम के बारे में भी नहीं पता है, यह कतार में अधूरा वस्तुओं की गणना करता है), ताकि < Code> queue.join () जानता है कि काम खत्म हो गया है।
Comments
Post a Comment