Genel bir başarı listesi diyelim.Python parçacığı öğeleri koleksiyona biriktirmek için
İş parçacığı iletişiminin Queue
s aracılığıyla yapılması gerektiğini, ancak Kuyruk documentation'u okurken, sıra uzunluğunun tam sayısını elde etmek için bir işlev olmadığını biliyorum.
Ben deQueue.qsize() Sıranın yaklaşık boyutunu döndürür. , Qsize Not()
0 müteakip olsun() engellemez garanti etmez, ne de() engellemez koymak() < maxsize garanti qsize edecektir.
len(queue)
denedim ama çalışmıyor:
>>> import Queue
>>> q = Queue.Queue()
>>> q.put(1)
>>> q.put(2)
>>> len(q)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: Queue instance has no attribute '__len__'
Ben de List
kullanma hakkında okudum ama don't have definite answer verileri bozuk veya değil edilecektir.
Şu anda aklıma gelen tek seçeneğim queue.get()
'u queue
boşluğuna dönüştürmek için boş bir listeye dönüştürmektir. Daha iyi bir seçim var mı?
Neden 'Kuyruk 'alt sınıfını oluşturmuyor ve kendi' length' işlevinizi eklemiyor ya da __len__' komutunu uygulamıyorsunuz? Bu muhtemelen kötü bir fikirdir ve iş parçacığı güvenliğini garanti edeceğine dair bir garanti yoktur, ancak bu bir atıştır. –
Ayrıca, neden qsize() 'yeterli değil? –
Belgeyi okuduğumda, "kuyruk kuyruğunun yaklaşık boyutunu döndür" yazıyor. İhtiyacım olan şey, ana iş parçacığının sonunda, kuyrukta kaç öğe olduğunu belirlemek için gerekiyor. –