-1

これは、オペレーティング システムの試験で直面した問題です。私はそれに対する正しい答えを見つけることができませんでした。誰かが助けてくれますか.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

上記の同期の問題は何ですか? 以下のオプションのいずれかを選択してください

  1. 同期は問題なく、正しく実行されます。
  2. ユニプロセッサ システムでのみ実行され、マルチプロセッサ システムでは実行されません。
  3. どのシステムでも実行されません
  4. 言えません。さらにデータが必要
4

1 に答える 1