SORU
4 NİSAN 2009, CUMARTESİ


Sıra.Sıra vs derlemeleri.deque

Şeyleri içine koyabilirsiniz bir sıra istiyorum, ve birden çok iş parçacığı okuyabilirsiniz.

Python en az iki sıra sınıflar, Sıra var.Sıra ve koleksiyonları.deque, eski görünüşte DAHİLİ olarak ikinci kullanarak. Hem güvenli iplik belgelerinde iddia.

Ancak, Sıra devlet dokümanlar da:

koleksiyonları.deque bir alternatiftir sınırsız sıralar uygulanması hızlı atom() ekleme ve () popleft işlemlerini kilitleme gerektirir.

Oldukça anlamiyorum bilmiyorum ki: bu deque tamamen güvenli iplik-değil mi?

Eğer öyle ise, tam olarak iki sınıf arasındaki farkı anlamıyor olabilirim. Sıra engelleme işlevselliği ekler görebiliyorum. Öte yandan, operatör desteği gibi bazı deque özelliklerini kaybeder.

Doğrudan iç deque nesnesi erişim

x Sıra().deque

evresel?

Ayrıca, neden Sıra deque-güvenli iş parçacığı zaten ne zaman bu işlemler için bir zaman uyumu işe yarıyor?

CEVAP
4 NİSAN 2009, CUMARTESİ


Queue.Queue collections.deque farklı amaçlara hizmet. Sıra.Kuyruk collections.deque sadece bir datastructure olarak tasarlanmıştır ise farklı iş parçacıkları sıraya alınan iletileri/verileri kullanarak iletişim kurmak için izin vermek için tasarlanmıştır. Queue.Queue put_nowait(), get_nowait() collections.deque gelmez ise join() gibi yöntemleri vardır. Queue.Queue in operatör gibilere yoksun neden olan bir toplama olarak kullanılmak için uygun değildir.

Kaynar Aşağı bu: eğer birden fazla iş parçacığı ve onlarla iletişim kurabilmek gerek kalmadan kilitler, aradığınız Queue.Queue; eğer sadece bir sıra veya çift uçlu kuyruk gibi bir datastructure, collections.deque.

Son olarak, Queue.Queue iç deque erişim maniple ateşle oynamak - Eğer gerçekten bunu yapmak istemiyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Pituvision

    Pituvision

    11 Mart 2006
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010
  • YAN TV

    YAN TV

    20 EKİM 2011