0
プロデューサコンシューマの問題でバウンドバッファを使用するときにセマフォに加えてミューテックスを使用する必要があるのはなぜですか?プロデューサ - コンシューマのバインドされたバッファインスタンスを解決するために2つのセマフォと1つのミューテックスが必要なのはなぜですか?
プロデューサコンシューマの問題でバウンドバッファを使用するときにセマフォに加えてミューテックスを使用する必要があるのはなぜですか?プロデューサ - コンシューマのバインドされたバッファインスタンスを解決するために2つのセマフォと1つのミューテックスが必要なのはなぜですか?
empty:semaphore(n)
full: semaphore(0)
mutex: semaphore(1)
「mutex」は、バッファをロックするために使用されます。
「完全」は、バッファが空の場合に消費者をブロックするために使用されます。
"空"は、バッファがいっぱいである場合にプロデューサをブロックするために使用されます。
そのため、3つのセマフォが必要です。
私は簡単にコードをGoogleに貼り付けて、ここに貼り付けることはできません。