Qtの次の問題を解決するにはどうすればよいでしょうか。Qtのマルチスレッドデータ処理パイプライン
私はセンサークラスを持っています。このデータでは、いくつかの操作が次々に実行されなければならず、かなり時間がかかることがあります。このため私はいくつかのクラスを追加しています。基本的には、新しいデータ項目が記録されるたびに、最初のクラスはデータを取得し、処理し、次のデータに渡すなどしなければなりません。
センサー - >クラス1 - > ... - >最後のクラス
そのクラス1は、すでにサンプルnに働くかもしれので、私は、自分のスレッドにパイプラインの個々のクラスを入れたいです+1はクラス2がサンプルを処理しているとき...
また、個々のステップがパフォーマンス(例えば、センサーが他の方法よりも速い)で大きく異なることがあるため、古いデータには興味がありませんクラス1(およびその後ろのすべて)は、古いデータを破棄して、前のクラスから最新のデータを常に取得するようにします。したがって、パイプラインのステップ間に大きなバッファはありません。
最初に私は信号/スロットのQt :: QueuedConnectionsを使用することを考えましたが、パイプラインの遅い部分で処理されるのを待っている古いサンプルがたくさんあるキューを導入すると思いますか?