通信方式

进程间通信IPC

方式 说明 优点 缺点
管道 半双工的通信方式 有名管道可无亲缘进程通信 只能承载无格式字节流,只能单向传输,管道只能亲缘进程通信
信号量 信号量是一个计数器,控制多进程并发访问(锁机制) 锁、条件变量等 只使用并发同步,不适合数据传递
信号 通知接收进程某个事件已经发生 信号通知 传递信息少
共享内存 通过共享内容,实现数据传递 最快的 IPC 方式
消息队列 链表,存放在内核中并由消息队列标识符标识 传递信息多
socket 网络套接字 跨主机通信

线程

  • 多进程中每个进程有自己的地址空间,线程则共享地址空间;
  • 线程是处理器调度的基本单位,进程是资源分配的单位;
  • 同一进程的线程共享地址空间,没有通信的必要,但要做好同步/互斥,保护共享的全局变量;
  • 通信方式:包括互斥锁、条件变量、读写锁

协程

通信方式 说明
互斥锁 mutex
条件变量 cond
读写锁 读写互斥,在读多写少,提高锁性能
管道 channel FIFO 消息队列
context 多协诚同步
WRITTEN BY:    陈贞

个人博客