TryDequeue trong ConcurrentQueue sẽ trả về false nếu không có mục nào trong Hàng đợi.Hãy thử Dequeue trong ConcurrentQueue
Nếu hàng đợi trống, tôi cần hàng đợi của tôi sẽ đợi cho đến khi mục mới được thêm vào hàng đợi và nó sẽ khử hàng mới và quá trình sẽ tiếp tục như thế.
tôi có nên sử dụng Monitor.Enter, chờ đợi, xung hoặc bất kỳ tùy chọn tốt hơn trong C# 4.0
hmmm - nó làm tôi ngạc nhiên rằng điều này không được tiếp xúc thuận tiện - có vẻ như một trường hợp sử dụng phổ biến ... –
Tôi nghĩ rằng với 4.0 một lớp BCL nên phơi bày điều này, nhưng nếu không có gì khác xuất hiện, có lẽ nhìn [tại đây answer] (http://stackoverflow.com/questions/530211/creating-a-blocking-queuet-in-net/530228#530228), trong đó TryDequeue sẽ chặn cho đến khi * hoặc * có một mục (trả về 'true') * hoặc * hàng đợi trống và tắt rõ ràng (trả về 'false') –
Nếu hàng đợi trống, tôi cần Chủ đề của tôi sẽ đợi cho đến khi mục mới được thêm vào hàng đợi và nó sẽ xóa bỏ hàng mới, và quá trình sẽ tiếp tục như thế. –