看板 Grad-ProbAsk 關於我們 聯絡資訊
請問以下這個敘述 Processes can be blocked inside the monitor 是對的嗎? monitor裡也有wait,應該也會卡在monitor裡吧? 但是monitor一次又只能一個process在run, 當一個被block住,就沒有其他process可以救了 另外,suspend跟block意思是否相同? 感謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.132.199
metalalive:我的想法是, 根據OS書上所說, monitor 外部entry queue 07/14 20:22
metalalive:是用來 block 想進入moniter 的 processes 07/14 20:23
metalalive:那monitor內部的 每個condition variable 會有一個 07/14 20:24
metalalive:waiting list, wait()與signal(),它的用途在於suspend 07/14 20:30
metalalive:任何 呼叫 condition variable 的 wait() 的 process 07/14 20:32
metalalive:這樣應該算事用途上的不同 07/14 20:35
metalalive:另外就是 外部entry queue 跟 condition variable 的 07/14 20:35
metalalive:waiting list 是兩個個別的空間 07/14 20:36
metalalive:觀念有錯還請指教謝謝~這邊我念了好久,os原文書寫的很 07/14 20:37
metalalive:怪...囧 07/14 20:37
metalalive:btw 我是參考這張圖@@ 07/14 20:39
metalalive:http://0rz.tw/ngQgp 07/14 20:40
da0910cc: 07/16 11:22
Byzantin:感謝回答~ 07/16 18:29
sneak: waiting lis https://daxiv.com 09/11 14:26