Pratik bir Queue kullanımı örneği

29.12.2005

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

RSS Bu makalenin yorumlarını RSS ile takip et!

ben busitenin ne işeyaradıgını bilmiyorum bana birzahmet söleyebilirmisiniz merakediyorum ben sizibeliyor olacam arkadaşlar lütfen beni bukonuda bilgilendirinseniz sevinirim size zahmet olmasa bana bişeyleryazan anlaşılırşekildeolsa sevinirim bana böderirseniz benörenmişolacam busiteyi arkadaşlarımada önerecem busayede arkadaşlarımda merakediyorlar birzamen gönderin alasmaladık görüşmek üzere

sait yural [ # | 05.01.2006 ]

Yorum Ekle





Kullanılabilir Taglar : [<blockquote>] [<strong>] [<em>]

Diğer Yazılar

Neredeyim ?

Ferruh.Mavituna » Haberler » Pratik bir Queue kullanımı örneği

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında