全部博文(18)
2015年(18)
发布时间:2015-05-15 17:46:32
消息队列个人理解消息队列就是以用户定义的type作为数据类型的,一个系统维护的链表,不同进程可以进行读写涉及到的api如下:key_t ftok(char *pathname, prj_id)//获取可以值int msgget(key_t key, int msgflg)//通过key 获取msg的idint msgctl(int msgqid,&n.........【阅读全文】
发布时间:2015-05-15 15:24:02
1共享内存:是linux IPC中是最快的进程间通信方式,粗略理解就是系统为两个进程提供一个可以访问的同一地址空间,进行通信,但必然带来对其访问的一些控制问题,所以需要和信号量等配合使用。涉及到的api如下:1 key_t ftok(char *pathname, int prj_id);//获取key值2 int shmget(key_t key, size_t size, int shmflg);.........【阅读全文】
发布时间:2015-05-14 14:23:09
1 无名管道,工作方式:半双工,即单项传输,无名管道局限性较大,只实现了有亲缘关系的进程进程间的通信,如下是简单的实现例子涉及到的函数只有pipe(),其它的read(),write()为通用文件操作的系统调用.原型如下:int pipe(int pipefd[2]);简单测试代码如下:点击(此处)折叠或打开#inclu.........【阅读全文】
发布时间:2015-05-13 18:05:09
信号量实现进程间访问互斥的资源测试例子。主要涉及到的函数及原型如下(加粗、颜色表示要重点关心的上下文相关变量)1: key_tftok(char *fileName, int id);//目的获取key值2: intsemget(key_t key, int nsems, int semflg)//目的获取id3:int semctl(int semid, int semnum, int cmd, union semunarg)//目的设置.........【阅读全文】