Tình trạng của tôi là:Nhiều nhà văn, một người đọc, bộ sưu tập
Nhiều chủ đề phải viết đồng thời vào cùng bộ sưu tập (thêm và thêm). Thứ tự của các mục không phải là một vấn đề. Khi tất cả các chủ đề đã hoàn thành (tham gia) và im trở lại chủ đề chính của tôi, sau đó tôi cần phải đọc tất cả các dữ liệu thu thập nhanh trong một phong cách foreach, nơi không có khóa thực tế là cần thiết vì tất cả các chủ đề được thực hiện.
Trong "ngày cũ", tôi có thể sử dụng khóa trình viết cho điều này trên Danh sách, nhưng với bộ sưu tập đồng thời mới, tôi tự hỏi không có lựa chọn nào tốt hơn. Tôi chỉ không thể tìm ra đó là hầu hết các bộ sưu tập đồng thời dường như giả định rằng người đọc cũng trên một chủ đề đồng thời.
nếu bạn đang sử dụng .Net 4.0 trở lên. ConcurrentBag sẽ giải quyết mục đích của bạn. Tôi nghĩ rằng tốt nhất nếu bạn không quan tâm đến trật tự và loại bỏ các yếu tố. –
Tôi đã nhìn vào nó, nhưng sẽ không một foreach trên một concurrentbag ngụ ý một hình phạt khóa cho mỗi lần đọc? Làm cho khóa độc giả cũ trở nên hiệu quả hơn? –
@Hans và Philip Rieck, bạn hoàn toàn đúng. Không có lý do gì để sử dụng một bộ sưu tập đồng thời ở đây. Rõ ràng với tôi bây giờ, tôi đã bị mù và hoang tưởng bởi thực tế rằng tôi đã phải quay lên rất nhiều chủ đề. Thx để làm rõ :). –