摘要: 共享内存共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。共享内存实现分为两个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数。系统调用:shmget( ) ;原型:int shmget ( key_t key, int size, int shmflg );返回值:如果成功,返回共享内 阅读全文
posted @ 2012-05-28 21:02 龍傲霜 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 消息队列就是消息的一个链表,它允许一个或多个进程向它写消息,一个或多个进程从中读消息。具有一定的FIFO的特性,但是可实现消息的随即查询。这些消息存在于内核中,由“队列ID”来标识。消息队列的实现包括创建和打开队列、添加消息、读取消息和控制消息队列这四种操作。msgget:创建和打开队列,其消息数量受系统限制。msgsnd:添加消息,将消息添加到消息队列尾部。msgrcv:读取消息,从消息队列中取走消息。msgctl:控制消息队列。int msgget (key_t key, int flag)key:返回新的或已有队列的ID,IPC_PRIVATEint msgsnd (int msqid, 阅读全文
posted @ 2012-05-28 20:52 龍傲霜 阅读(797) 评论(1) 推荐(0) 编辑