前面的好说,比如说队列que, if(que.isempty()) return
后面的是 while(que.isempty()) 然后 *** 作。
你只在 server 进程中(对应spid==0),调用 open_queue 来打开消息队列,即msqid只在这个进程中有效,在host进程中(对应cpid==0),由于msqid无效,所以无法发送消息。 解决方法:只要把 do { msqid = open_queue(key)} while (msqid == -1) 这段代码移到第一个fork之前,这样所有的进程中的msqid就都指向那个队列了。 还有问题可以baidu hi我,别忘了加分。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)