私は現在、並行プログラミングパターンを研究しています。ウィキペディアに掲載されている、セマフォを使用した制限付きバッファーによる生産者/消費者問題の解決策を検討してください。
ある時点で、プロデューサーが次のように言った場合はどうなりますか。これが私が作成する最後のアイテムです。プログラムを終了させるにはどうすればよいですか?(バッファに何かがあることが通知されるまで、コンシューマは待機します)。
同様に、消費者が「もう消費したくない」と言ったらどうなるでしょう。プログラムが終了するように、プロデューサーにどのように通知できますか?(プロデューサーは何かを置くための利用可能な場所があるのを待っています)。