Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:生産者消費者問題)

生産者消費者問題とは?

このQ&Aのポイント
  • 生産者消費者問題は、複数の生産者と消費者がデータを共有する場合に発生する同期問題です。
  • プログラムのコードが同期をとらない場合、以下のような問題が発生します。
  • 生産者はデータを生成し、バッファに格納するが、バッファが満杯の場合は待つ必要があります。一方、消費者はバッファが空の場合には待たなければなりません。このため、生産者と消費者の動作がずれ、正しくデータの受け渡しが行われなくなります。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

プログラム構造としては、このソースだけから言えることは ・void producer() は無限ループなので、実行したら強制終了するまで止まらない ・void consumer() は無限ループなので、実行したら強制終了するまで止まらない おそらく、それぞれをスレッドで並列に実行させようというものだと思われますが、その場合 ・この中では排他制御していないので、共通で使っている変数で衝突が発生して、異常な値になるかもしれない ・最適化により、期待しているループにならないかもしれない といった、並列処理固有の問題が発生するかもしれません。

すると、全ての回答が全文表示されます。

関連するQ&A