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), 才能继续往下
请问是这样解读吗?