-1
這是我在操作系統考試中遇到的一個問題。我無法弄清楚它的正確答案。可有人help.Given採用鎖相同步,其中許多線程試圖訪問一個全局計數器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
什麼是上面同步的問題?選擇下面給出的選項中的任何一個
- 同步很好,並且可以正常運行。
- 只能在單處理器系統上運行,而不能在多處理器系統上運行。
- 不會在任何系統上運行
- 不能說。需要更多數據
'lock = 1'是什麼意思?鎖的設置和測試應該是原子的嗎?鎖定是否與等待隊列交互? –
當有人訪問變量時,我認爲lock = 1。當有人不是時,它是0 – Akshit