成功源于积累----波爸

思想决定高度,行动决定成败!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年6月8日

摘要: 共享内存是运行在同一台机器上的进程间最快的通信方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。得到共享内存有两种方式:映射/dev/mem 设备和内存映像文件。前一种方式不给系统带来额外的开销,但在现实中并不常用,因为它控制的存取将是实际的物理内存。常用的方式是通过shmXXX函数族来实现利用共享内存进行存储的。首先,要用的函数是shmget,它获得一个共享存储标识符。 #include<sys/types.h> #include<sys/ipc.h> #include<sys/shm.h> int s 阅读全文
posted @ 2012-06-08 21:14 沙场醉客 阅读(172) 评论(0) 推荐(0) 编辑

摘要: ---管道是半双工的,数据只能向一个方向流动,需要双方通信时,需要建立起两个管道;---只能用于父子进程或兄弟进程之间(具有亲缘关系的进程)---单独构成一个独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一个文件系统,并且只存在于内存中。---数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加到管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。用read、write即可完成读写。管道两端可分别用描述字fd[0]和 fd[1] 来描述,需要注意的是,管道的两端是固定了的任务。管道也 阅读全文
posted @ 2012-06-08 20:37 沙场醉客 阅读(176) 评论(0) 推荐(0) 编辑