协作进程
1.什么是协作进程
?
协作进程
: 能
影响
或被其他系统内执行的其他进程所影响
的,需要与其他进程共享数据
换句话讲*: 不能独立完成,就是一个人
干不了的活
,需要他人配合合作
才能完成
补充:
独立进程:
不能
影响or
被其他进程影响的进程,拥有的数据资源私有
,不予其他进程共享
2.协作进程的好处
信息共享
加快计算
:特定任务分成子任务与其他子任务并发执行模块化
:系统功能分为独立进程和协同方便
:让单个用户也能同时执行许多任务
注意!
协同进程
不是协作进程
协同进程
:某个过滤程序a
既可以产生过滤程序b
的输入,又能读取读取过过滤程序b
的输出时,a
就为协同进程Look Up!!
管道
就是协同进程
的例子。- 当
子进程
为过滤程序时,父进程
产生子进程
的输入,同时父进程又读取
子进程的输入
,这时子进程程序为协同进程
。popen
只提供连接到另一个进程的标准输入
或标准输出
的一个单向管道
,而协同进程
则有连接到另一个进程的两个单向通道
。示例
- .进程创建两个
管道
:一个是协同进程
的标准输入,另一个是协同进程
的标准输出- fork一个
子进程
父进程
从子进程
那儿读取数据,父进程
对数据处理后将数据输出到标准输出
。