毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

想实现A和B两个独立程序的相互通信与同步

更新时间:2013-1-7:  来源:毕业论文

想实现A和B两个独立程序的相互通信与同步
想实现A和B两个独立程序的相互通信与同步;


A在循环,B也在循环,先打开A程序,然后再打开B程序;
A在while(1)里面循环,但是要和B中的循环相互通信;
A生成一次文件,B处理一次;然后A重新生成一次文件,B再处理一次......
1.有名管道用过了,发现 管道要先read然后才可以write;有名管道我是这么设计的,在A中创建两个管道1和2;然后1写,2读取;在b中就是1读取,2写;但是假如我先运行A那么1写的那个就出错了,因为管道要先读,然后才可以写的,但是这个1写的1读是在B中的····
2.我用了消息队列,但是发现消息队列中的KEY好像只能在同一个程序中使用?(不知道是不是我没弄明白)这样一来要两个独立的程序之间通信,就没办法了?
3.信号量,我也发现了和2一样的额问题。。。。
求指点

消息队列、信号量、共享内存在同一用户下多进程访问没有任何问题,只是在创建或获取ID时需要使用相同的KEY来获取。

如消息队列:
  if ((GET_MSGQ_ID = msgget (GET_MSGQ_KEY, PERMS | IPC_CREAT)) == -1) //10004   获取SLEE消息
  {
    return (-1);
  }

此处只要GET_MSGQ_KEY的值在各进程中设置为相同的数字如0x50001,则获取到的GET_MSGQ_ID各进程都一样,这样就可以多进程访问了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。