操作系统
-
- 管道/匿名管道(Pipes) :用于具有亲缘关系的父子进程间或者兄弟进程之间的通信。——半双工,文件是内存中的特殊文件
- 有名管道(Names Pipes) : 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道严格遵循先进先出(first in first out)。有名管道以磁盘文件的方式存在,可以实现本机任意两个进程通信。——全双工
- 信号(Signal) :信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;
- 消息队列(Message Queuing) :存放在内核中,消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺
- 信号量:同步机制
- 共享内存(Shared memory):不同进程可以及时看到对方进程中对共享内存中数据得更新(共享内存的优缺点)
- 套接字(Sockets) :客户端和服务器之间通过网络进行通信
-
线程同步的方式:
- 互斥量(Mutex):采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个。
- 信号量(Semphares) :它允许同一