[理工] OS blocking/non-blocking/send/receive

看板Grad-ProbAsk作者 (Clonsey)時間6年前 (2017/12/02 01:07), 6年前編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串1/1
send/receive同步的問題 假如A和B都為mailbox 收方的code如下: Non-Blocking Receive(A,msgA); if(msgA==NULL){ Blocking Receive( B, msgB ); Blocking Receive( A, msgA); } else { Blocking Receive(B, msgB ); } 請問收方何時可以往下執行? 答案: 一定要從A和B收到有效訊息後, 且順序無所謂, 才可往下 ************************************************************ 請問這段code的意思是這樣嗎? 先去看mailbox A有沒有訊息, 如果沒有, 則在mailbox B stand by直到有訊息後, 再到mailbox A stand by直到有訊息 (順序是先B後A), 然後才能繼續往下; 若mailbox A有訊息, 則到mailbox B stand by 直到拿到訊息 (順序是先A後B), 才能繼續往下 請問是這樣解讀嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.176.47 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1512148056.A.E26.html ※ 編輯: clonsey1314 (1.163.176.47), 12/02/2017 01:09:05 ※ 編輯: clonsey1314 (1.163.176.47), 12/02/2017 01:19:52

12/02 09:01, 6年前 , 1F
12/02 09:01, 1F
謝謝 ※ 編輯: clonsey1314 (1.163.178.168), 12/02/2017 14:44:45
文章代碼(AID): #1Q8OnOuc (Grad-ProbAsk)