关于消息队列的问题
建立一个消息队列后,里面是空的吗?
我有两个进程,一个是
for
{.......
.......
msgsnd
msgrcv}
另一个是
for
{msgrcv
......
......
msgsnd}
其中一个发1号消息,收2号消息
另一个收2号消息,发1号消息,都是设置成没收到规定消息时阻塞
按道理说应该能保证两个进程的循环语句同步执行吧
结果我执行时先是第二个进程接收到一个消息,返回了一个正值,这是为什么?消息队列刚建立就能收到消息?
------解决方案--------------------其中一个发1号消息,收2号消息
另一个收2号消息,发1号消息,都是设置成没收到规定消息时阻塞
是:
“另一个收1号消息,发2号消息”吧?
------解决方案--------------------建议建立2个消息队列,一个收,一个发,这样系统结构清晰,也好控制
------解决方案--------------------个人感觉异步就建两个队列吧, 同步就建一个.
------解决方案--------------------好像容易造成死锁情况