これは、オペレーティング システムの試験で直面した問題です。私はそれに対する正しい答えを見つけることができませんでした。誰かが助けてくれますか.Given は、多くのスレッドが lock- を使用してグローバル カウンター g にアクセスしようとしている同期のコードです。
if(lock==1)
wait(); //sleep this thread until some other thread wakes up this thread
else
lock=1; //enter in protected area
//access global counter g//
lock=0;
//wake up some other thread which is waiting for the lock to be released
上記の同期の問題は何ですか? 以下のオプションのいずれかを選択してください
- 同期は問題なく、正しく実行されます。
- ユニプロセッサ システムでのみ実行され、マルチプロセッサ システムでは実行されません。
- どのシステムでも実行されません
- 言えません。さらにデータが必要