Điều gì sẽ là cách tốt để giải quyết vấn đề sau trong Qt:Đường ống xử lý dữ liệu đa luồng trong Qt
Tôi có lớp cảm biến, liên tục tạo dữ liệu. Trên dữ liệu này, một số thao tác phải được thực hiện sau lần khác, có thể mất nhiều thời gian. Đối với điều này tôi có một số lớp học bổ sung. Về cơ bản, mỗi khi một mục dữ liệu mới được ghi lại, lớp đầu tiên sẽ nhận được dữ liệu, xử lý nó, chuyển nó sang phần tiếp theo và vân vân.
cảm biến -> lớp 1 -> ... -> lớp cuối cùng
tôi muốn đưa các lớp học cá nhân của các đường ống dẫn vào chủ đề của riêng mình, do đó lớp 1 có thể đã làm việc trên mẫu n +1 khi lớp 2 đang xử lý mẫu n ...
Ngoài ra, vì các bước riêng lẻ có thể khác nhiều về hiệu suất của chúng (ví dụ: cảm biến nhanh hơn phần còn lại) và tôi không quan tâm đến dữ liệu lỗi thời, muốn lớp 1 (và mọi thứ sau đó) để luôn nhận được dữ liệu mới nhất từ người tiền nhiệm của họ, loại bỏ dữ liệu cũ. Vì vậy, không có bộ đệm lớn giữa các bước của đường ống. Trước tiên tôi đã nghĩ đến việc sử dụng Qt :: QueuedConnections cho tín hiệu/khe, nhưng tôi đoán rằng điều này sẽ giới thiệu một hàng đợi đầy các mẫu lỗi thời đang chờ xử lý bởi các phần chậm của đường ống?