Tôi có hàng rào chặn bị chặn trong một ứng dụng được viết cách đây vài năm. Hãy chỉ nói rằng việc thực hiện ít hơn sao, nhưng nó hoạt động. Tuy nhiên, nó có một số vấn đề hiệu suất. Có vẻ như .NET 4.0 BlockingCollection<T>
là sự thay thế phù hợp, nhưng tôi cần đảm bảo rằng nó thực sự là một hàng đợi. Nghĩa là, nó có được đảm bảo là đúng FIFO nếu được sử dụng trong một nhà sản xuất đơn lẻ, một người tiêu dùng không?BlockingCollection <T> có đảm bảo đơn hàng xóa không?
Tài liệu không nói cụ thể. Chủ đề BlockingCollection không nói (trong chú thích):
BlockingCollection<T>
là tương tự như một truyền thống dữ liệu hàng đợi chặn cấu trúc, ngoại trừ việc cơ chế lưu trữ dữ liệu cơ bản là trừu tượng xôi như mộtIProducerConsumerCollection<T>
.
Nhưng không có gì đặc biệt nói rằng mọi thứ sẽ bị xóa theo cùng thứ tự mà chúng được thêm vào.
Có ai biết chắc không?
Downvoter, bạn có điều gì muốn nói không? Đó là phong tục để đưa ra một lý do cho một downvote. –