最近学习了操作系统的并发;以下是关于进程间实现并发,通信的两个方法。
1:利用管道进行进程间的通信
用到下列函数
pipe() from unistd.h
sleep()
write(), read()
fork(); //创建子进程
管道只能用于具有亲缘关系的进程,可以将其看作一个文件,但有别于普通的文件, 管道一次只可以被一个进程访问,能实现互斥;
pipe(int fd[] ), 其参数为长度为2的int数组,分别代表读端fd[0], 写端fd[1], 在创建管道后,f d[0],fd[1]成为文件描述符;
写入(write)管道一端fd[1]的数据,在管道的另一端fd