
进程间通信是在不同进程之间传播或交换信息,因此可以在不同进程之间访问哪种媒体?进程的用户空间彼此独立,并且通常无法相互访问. 唯一的例设备. 从这个意义上讲,这两个进程当然也可以通过磁盘上的普通文件,或者通过“注册表”或其他中的某些条目和记录来交换信息. 从广义上讲,这也是进程间通信的一种手段,但通常不算作“进程间通信”. 由于这些通信方式的效率太低,人们对进程间通信的要求是要具有一定的实时性.
进程间通信是在不同进程之间传播或交换信息,因此可以在不同进程之间访问哪种媒体?进程的用户空间彼此独立,并且通常无法相互访问. 唯一的例设备. 从这个意义上讲,这两个进程当然也可以通过磁盘上的普通文件,或者通过“注册表”或其他中的某些条目和记录来交换信息. 从广义上讲,这也是进程间通信的一种手段,但通常不算作“进程间通信”. 由于这些通信方式的效率太低,人们对进程间通信的要求是要具有一定的实时性.
进程间通信主要包括管道unix进程间通信,系统IPC(包括消息队列,信号灯,共享存储),SOCKET.

管道包括三种类型: 1)普通管道PIPE,通常有限制,一种是半双工的,只能在一个方向上传输;另一个是只能在父进程和子进程之间使用. 一种限制,可以在两个方向上传输. 3)命名管道: name_pipe,消除了第二种限制,并且可以在许多不相关的进程之间进行通信.
系统IPC的三种方法相似,都使用内核中的标识符进行标识.
FAQ1: 管道与文件描述符和文件指针之间的关系?

答案: 实际上,管道的使用类似于文件,并且可以使用常见的IO功能,例如读取,写入和打开. 管道描述符类似于文件描述符. 实际上,描述符,文件指针和管道使用的文件描述符最终将在系统中转换为SOCKET描述符. 它们受到系统内核中SOCKET描述符的限制. 本质上,LINUX内核源代码中的管道是通过空文件实现的.
FAQ2: 如何使用管道?
答案: 主要有以下方法: 1)管道,创建管道,返回2管道描述符. 通常用于父子进程之间的通信. 2)popen,pclose: 这种方式只返回管道描述操作符,通常用于与对方通信的是stdinorstdout; 3)mkpipe: 命名管道,用于在许多进程之间进行交互.

FAQ3: 管道和系统IPC之间的优缺点比较?
答案: 管道: 优点是所有UNIX实现都支持它,并且在最后一个访问管道的进程终止后,管道被完全删除;缺点是管道仅允许单向传输或在父子进程之间使用. <
系统IPC: 优点是它功能强大并且可以在不相关的进程之间进行通信;缺陷在于关键字KEY_T使用内核徽标unix进程间通信,该徽标占用内核资源,并且只能被显式删除,并且不能使用SOCKET. 一些机制,例如选择,epoll等.

FAQ4: WINDOS进程间通信与LINUX进程间通信之间的关系?
答案: 实际上,WINDOS的大多数进程通信都已移植到UNIX,并且WINDOS的剪贴板和文件映射可以在UNIX进程的通信共享存储中找到.
FAQ5: 进程间通信与线程间通信之间的关系?
回答: 因为运行WINDOWS的实体是一个线程,所以从狭义上讲,进程间通信实际上是指属于不同进程的线程之间的通信. 各个进程之间的线程同步问题可以组合成一个特殊的进程. 通讯. 它使用内核支持的系统调用来维护线程之间的同步. 常用的一些线程同步方法包括: 事件,互斥量,信号量信号量,关键部分资源等.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-204319-1.html
拉森号导弹驱逐舰是阿利伯克级宙斯盾驱逐舰
全国人民恭喜南方黑芝麻蛆子节节高
让她永远站最边边上