下面哪些机制可以用于进程间通信?
- Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket)
- Linux线程间通信:互斥量(mutex),信号量,条件变量
- Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket)
- Windows线程间通信:互斥量(mutex),信号量(semaphore)、临界区(critical section)、事件(event)
进程间通信方式的展示,包含了windows、Unix、Java三个部分:
windows大部分移植于Unix,因此理清哪些是各自特有的,哪些是一致的,同时理清哪些原理是一致的只不过实现方式有所不同,如此对进程间通信就有了一个全面的了解。
红色是最常见也是需要理解掌握的,这里留待后续做全面的说明,下面先介绍一下空闲内存和管道:
(一)共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式。共享内存允许两个不相关的进程访问同一个逻辑内存。由于它并没有提供同步机制,所以我们通常需要用其他的