11-16-2020 02:57 AM
DAQから波形を入力し計算して記録する流れを、キュー関数で生産者消費者パターンを用いて作ろうとしているのですが、
生産者ループよりも消費者ループの方が時間がかかる設定にしたときに、
生産者ループが終わると、実行し終えていない消費者のループも止まってしまいます。
生産者消費者パターンは消費が生産に追いつかない場合に、生産されたデータを待機させられると認識していたのですが、どうして生産が終わると消費も止まってしまうのか、お分かりになる方がいらっしゃれば教えていただけると幸いです。
ブロックダイアグラムを以下に添付します。
解決済! 解決策の投稿を見る。
11-16-2020 03:02 AM
生産者側ループで、キューを解放しているのが原因ではないかと思います。
以下のようなイメージです。
この場合、両方のループが停止してからキューを解放するなどの実行順序付けをされると良いと思います。