tôi đang làm việc trên dự án với các công việc sau:Chờ chặn thu (hàng đợi) để giảm kích thước trong C#
Phần thứ nhất:
- tổ chức sự kiện đến không đồng bộ và được xếp hàng đợi trong việc ngăn chặn hàng đợi, chúng tôi sẽ gọi đó là Q1
- chủ đề nhặt item tiếp theo có sẵn từ mà đợi
- mục kết thúc lên chạy {N} số nhiệm vụ song song
- Mỗi tác vụ xếp hàng kết quả của nó trên hàng đợi thứ hai, chúng tôi sẽ gọi số Q2.
- Khi xử lý mục hoàn thành, mục tiếp theo sẽ được đọc khỏi hàng đợi.
Phần thứ hai:
- chủ đề Một lần đọc tắt của Q2 một đối tượng tại một thời điểm và hoạt động trên kết quả
Vì vậy, vấn đề ở đây là, tất cả các mục trên hàng đợi đầu tiên kết thúc lên chạy một số lượng lớn các nhiệm vụ song song, và mỗi công việc xếp hàng đợi kết quả của nó. Hàng đợi thứ hai phải được xử lý serially, một mục tại một thời điểm mặc dù, và nó đang bị ngập lụt.
Câu hỏi của tôi
Tôi cần một cơ chế đó sẽ làm cho việc xử lý chủ đề Q1 chờ đợi cho đến khi số lượng các mục trong Q2 dưới một ngưỡng nhất định. Cách tốt nhất để đạt được điều này là gì? Có cách nào để có giải pháp hướng sự kiện thay vì giải pháp bỏ phiếu không?
Cool; Tôi đã sử dụng các bộ sưu tập chặn ở đây vì vậy đó là một thay đổi nhỏ :) –
Tôi sẽ dùng thử và chấp nhận nếu nó hoạt động. Điều này có thể là một sửa chữa tốt vì nó sẽ dừng nhiệm vụ xử lý các chủ đề {N} của chúng tôi khi chúng có thể xếp hàng kết quả của chúng, điều này sẽ ngăn không cho nhiều sự kiện được xử lý ngay từ đầu :) –