में निर्मित समारोह len()
(https://docs.python.org/3/library/functions.html#len) देता है "एक वस्तु की लंबाई (मदों की संख्या)", लेकिन इस queue.Queue
(https://docs.python.org/3/library/queue.html) के लिए लागू नहीं है। इसके बजाय, queue.Queue
में qsize()
विधि है जो एक कतार का अनुमानित आकार देता है, जब इसकी स्पष्ट रूप से लंबाई होती है; आप कन्स्ट्रक्टर में Queue
की अधिकतम लंबाई निर्दिष्ट कर सकते हैं। इसी तरह के collections.deque
len
के साथ काम करता है।क्यूई के लिए लेन() लागू क्यों नहीं किया गया है?
queue.Queue
के लिए सामान्य len()
का उपयोग न करने के कारण क्या हैं? या: फ़ंक्शन को सक्षम करने के लिए qsize
को __len__
नामित करने के लिए समस्याएं क्या होंगी?
शायद क्योंकि लोग 'लेन' को सटीक मूल्य वापस करने की उम्मीद करते हैं, अनुमानित नहीं। और यह तेज़ होना चाहिए। सटीक '__len__' को लागू करने के लिए कतार को अस्थायी रूप से लॉक किया जाना चाहिए ताकि जोड़ों और निकासी को रोका जा सके, जो प्रदर्शन को प्रभावित करेगा। –