Pratik bir Queue kullanımı örneği
Okuyucu : 2.076
Günlük Okuyucu : 2,4
Bir fonksiyonum BackgroundWorker' da verilen klasörde recursive olarak uzun işlemler yapıyor. Daha sonradan uygulamaya sürükle bırak (drag & drop) desteği ekleyince birden aynı anda birden fazla klasör eklenebilir oldu. Bu da bir hataya neden oldu, çünkü tarama işlemi bir öncekini iptal ediyor ve son gelen klasör için çalışıyordu sadece. Şu şekilde bir çözüme gittim,
Global bir Queue objesi oluşturdum,
Dim ScanQue As New Queue()
Tarama kısmında eğer tarama aktifse yeni gelen taramayı queue' ye ekledim
If ScanActive Then ScanQue.Enqueue(File) : Exit Sub
Tarama işlemi bitince çalışan fonksiyonada eğer queue boş değilse bir sonraki objeye geç dedim.
If ScanQue.Count > 0 Then StartScan(DirectCast(ScanQue.Dequeue, String))
Collection objemin FIFO veya LIFO olması benim için pek önemli değildi ama FIFO genelde daha mantıklı, dolayısıyla Queue iyi bir seçim oldu.

Yorumlar
Yorum Ekle
Diğer Yazılar
PrintMe Internet Printing
Priority of Paybacks
Privoxy, Microsofft Anti Spyware ve Tune Up Utilities
Prj+13 Designersvault
Problemleri Çözme üzerine diğer bir harika söylem
Problems about market value!
Productivity Tools for Windows
Programcı Bloglarına Devam
Programcı Tıkanıklığı
Programcılar ve Yöneticiler vs.
Programlama Üzerine...
Programlama Ağırlıklı bi Blog
Proto - Bazıları Melankoli Sever
Proxy+
Proxycap
PS2' yi kurcalayıp Webde dolaşabilme
PSU ardına PSU Yakmak
Quake II' yi .NET C++ derleme ve modifiye etme
Quicktime, Real Player Alternatifleri
Neredeyim ?
Ferruh.Mavituna » Haberler » Pratik bir Queue kullanımı örneği