进程通信

有时候进程间需要协作来完成某项功能,典型的如Master-Worker模型,这时候就需要进行进程间通信

IPC

进程间通信(Inner Process Communication)

进程通行方式

进程间采用的通信方式要么需要切换内核上下文,要么要与外设访问(有名管道,文件),所以速度会比较慢

  1. 共享内存(shared memory)
  2. 消息队列(message queue)
  3. 有名管道(named pipe)
  4. 无名管道(pipe)
  5. 信号量(semaphore)
  6. 信号(signal)
  7. 文件(file)
  8. 套接字(socket)

线程通信方式

除了可以使用进程的通信方式,还可以使用

  1. 全局变量
  2. 条件变量
  3. 线程信号
  4. 互斥量
  5. 读写锁
  6. 自旋锁

RPC

远程过程调用(Remote Procedure Call),详情参考这里



参考

python使用master worker管理模型开发服务端
并行程序设计模式--Master-Worker模式
进程间、线程间通信方式小结
深刻理解Linux进程间通信(IPC)
Linux进程与线程的区别
Linux进程间通信——使用共享内存
Linux进程间通信——使用消息队列
Linux进程间通信——使用命名管道
Linux进程间通信——使用匿名管道
Linux进程间通信——使用信号量
Linux进程间通信——使用信号
Linux进程间通信——使用流套接字
浅析线程间通信一:互斥量和条件变量
浅析线程间通信二:读写锁和自旋锁
Linux线程编程之信号处理
RPC综述 - PB, Thrift, Avro
谁能用通俗的语言解释一下什么是 RPC 框架

Copyright © zhujipeng 2017 all right reserved,powered by Gitbook 该文件修订时间: 2017-11-04 14:57:24

results matching ""

    No results matching ""