设为首页 加入收藏

TOP

多进程编程(二十五)
2012-08-26 13:53:26 】 浏览:22873
Tags:进程 编程
bsp;            脱离访问关系.
           消息队列中的某条消息被读后即从队列中删除.
           消息队列的访问具备锁机制处理,即一个进程在访问时另一个进程
             不能访问.
           操作时要注意系统资源和效率.
           在权限允许时,消息队列的信息传递是双向的.
         . 共享内存
           通过共享内存key值定义和生成共享内存.
           任何进程只要有访问权限并知道key即可访问共享内存.
           共享内存为内存块方式的数据段.
           共享内存中的数据长度可为系统参数限制内的任何长度.
           共享内存的访问同数组的访问方式相同.
           在取得共享内存标识符将共享内存与进程数据段联接后即可开始对
             之进行读写操作,在所有操作完成之后再做共享内存和进程数据
             段脱离操作,才完成全部共享内存访问过程.
           共享内存中的数据不会因数据被进程读取后消失.
           共享内存的访问不具备锁机制处理,即多个进程可能同时访问同一
             个共享内存的同一个数据单元.
           共享内存的使用最好和信号量一起操作,以具备锁机制,保证数据的
             一致.
           在权限允许时,共享内存的信息传递是双向的.
         . 信号量
           用于生成锁机制,避免发生数据不一致.
           没有其他的数据信息.
           不需要有父子关系或兄弟关系.
         . 信号
           信号由系统进行定义.
           信号的发送只要有权限即可进行.
           信号是一个事件发生的信息标志,不带有其它信息.
           信号不具备数据块.
           信号的处理可由用户自己定义.
           信号可能由用户进程,操作系统(软件或硬件原因)等发出.
           有一些信号是不可被屏蔽的.
           信号中断的是系统调用级的函数.
           信号的信息传递是单向的.
         . 管道
           做为系统的特殊设备文件,可以是内存方式的,也可以是外存方式的.
           管道的传输一般是单向的,即一个管道一向,若两个进程要做双向传
           输则需要2个管道.管道生成时即有两端,一端为读,一端为写,两个
           进程要协调好,一个进程从读方读,另一个进程向写方写.
           管道的读写使用流设备的读写函数,即:read(),write.
           管道的传输方式为FIFO,流方式的.不象消息队列可以按类型读取.
           * 有名管道
             一般为系统特殊文件方式,使用的进程之间不一定要有父子关系
             或兄弟关系.
           * 无名管道
             一般为内存方式,使用的进程之间一定要有父子关系或兄弟关系.
         . 文件
           文件是最简单的进程间通讯方式,使用外部存贮器为中介.
           操作麻烦,定位困难.
           保密程度低.
           容易出现数据不一致问题.
           占用硬盘空间.
           只要有权限并知道文件名,任何进程都可对之操作.
           * 特殊处理
             为避免出现保密问题,在打开文件,取得
首页 上一页 22 23 24 25 下一页 尾页 25/25/25
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Core Dump?! 下一篇字符串转换篇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目