Bu modül hakkında Türkçe kaynak bulamıyorum ve maalesef İngilizcem yeterli seviyede değil acaba sizin bildiğiniz herhangi bir Türkçe kaynak var mı?
Merhaba. Queue yapısını neden öğrenmek istediğiniz bilmiyorum. Ancak bu modül için söyleyebileceğim, Kuyruk veri yapısını uygulamayı sağladığıdır. Bilgi almak isterseniz, aşağıdaki linklere bakabilirsiniz.
http://bilgisayarkavramlari.sadievrenseker.com/2008/04/16/sira-queue
Veri yapısı, programlama algoritma konusunda farklı yaklaşımlar ve organizasyonlardır. Python’da da hazır yazılmış yapılar var. Kuyruk yapısı da Queue sınıfı içerisinde yazılmış. Basit bir şekilde bu veri yapısı, ilk giren ilk çıkar(First in First out - FIFO) ile çalışır. Örnek(Python2)
>>> from Queue import Queue
>>> kuyruk = Queue()
>>> kuyruk.put(5)
>>> kuyruk.put(10)
>>> kuyruk.put(15)
>>> kuyruk.put(20)
>>> kuyruk.get()
5
>>> kuyruk.get()
10
>>> kuyruk.get()
15
>>> kuyruk.get()
20
Gördüğünüz gibi, ilk eklediğimiz elemanı ilk olarak çıkardı. Son eklediğimizi de son çıkardı. Bu veri yapısı ne işimize yarayacak derseniz, şurda bir örnek verilmiş
Buna gündelik yaptıklarımızdan örnek vermek gerekirse aklıma ilk gelen yazıcı kuyruğu. Gün içinde bir anda 4-5 tane dosya yazdırmak istediniz, her dosyanın da yazılması bir dk kadar sürsün. Sizin dosyayı yazdır butonuna tıklamanız birkaç sn sürecek. Yazdırmak belki bir kaç dk. Bu süre boyunca işletim sistemimiz ne yapıyor? Bir dosya yazdırılırken diğerini sıraya atıyor, yazılan dosya bittiğinde sıradaki dosyayı alıp yazdırmaya başlıyor.
Queue içerisinde başka sınıflar da var. Ama hepsi genelde Veri yapıları için geçerlidir.
Ancak şöyle bir şeyden de bahsetmek istiyorum. Python içerisindeki Queue yapısı, threading ile birleştirilerek daha kullanışlı bir hale getirilmiş. Örneğin, kuyrukta eleman biterse ve get() ile yeni bir elemana ulaşmak isterseniz, hata vermeyecek bunun yerine yeni bir elemanın bir yerlerde eklenmesini bekleyecektir. Bunu en iyi şekilde uygulamalı olarak threading içerisinde kullanabiliriz
http://ysar.net/python/threading.html
Elimden geldiği kadar anlatmaya çalıştım. Umarım anlaşılır olmuştur
Yardımınız için teşekkürler
Rica ederim, yardımcı olduysam ne mutlu bana