管道:
1、管道是半双工的,数据只能向一个方向流动;需要双方通讯时,需要建立起两个管道;
2、只能用户父子进程或者兄弟进程之间(具有亲缘关系的进程);
3、单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但他不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在于内存中;
4、数据的读入和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。
5、向管道中写入数据时,linux将不保证写入的原子性,管道缓冲区一有空闲区域,写进程就会试图向管道中写入数据。如果读进程不读走管道缓冲区,那么写进程将一直阻塞。
信号:
1、信号是进程间通讯机制中惟一的异步通讯机制,可以看做是异步通知,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。
2、信号的分类:(1)可靠性方面:可靠信号与不可靠信号(2)与时间关系上:实时信号与非实时信号。
阅读(1081) | 评论(0) | 转发(0) |