ConcurrentQueue'daki TryDequeue, Kuyrukta öğe yoksa false değerini döndürür.ConcurrentQueue'da Dequeue'u Deneyin
Kuyruk boşsa Sıranın yeni öğenin sıraya eklenmesini bekleyip sıraya girmesini beklemeli ve bu yenisini düşürmeli ve işlem bu şekilde devam edecektir.
i Monitor.Enter kullanmalıyım, bekle darbe veya C# 4.0
hmmm - bu uygun bir şekilde açığa çıkmadığında beni şaşırtıyor - bu yaygın bir kullanım çantası gibi görünüyor ... –
Sanırım 4.0 ile BCL sınıfı bunu ortaya çıkarmalı, ama başka bir şey görünmüyorsa, belki de answer] (http://stackoverflow.com/questions/530211/creating-a-blocking-queuet-in-net/530228#530228), burada TryDequeue, * bir * öğeyi ("true" döndürerek) * veya * sıra boştur ve açıkça kapatılır ('false' döndürme) –
Kuyruk boşsa, iş parçacığım sıraya eklenecek kadar yeni öğeyi beklemeli ve bu yenisini deşarj etmelidir. böyle devam ediyor. –