Linux后台服务器开发——Linux下进程间通信的方式有哪些?( 二 )


五、共享存储

  • 详情参阅:
  • 共享存储允许两个或多个进程共享一个给定的存储区
  • 共享存储不属于某一特定进程 , 申请时是由系统提供的 , 大家都可以使用
  • 因为数据不需要在进程之间复制 , 所以这是最快的一种IPC结构:为了在多个进程间交换信息 , 内核专门留出了一块内存区 , 可以由需要访问的进程将其映射到自己的私有地址空间 。 进程就可以直接读写这一块内存而不需要进行数据的拷贝 , 从而大大提高效率
  • 重点:父进程fork子进程或者exec执行一个新的程序 。 在子进程和新程序里面不会继承父进程之前使用的共享存储
共享存储的互斥问题
因为共享存储大家都可以使用 , 所以当有多个进程对共享存储进行操作时 , 需要控制好读写操作(也就是互斥操作)
六、套接字
  • 套接字是一种通信机制 , 凭借这种机制 , 客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行 , 也可以跨网络进行
  • 套接字的特性由3个属性确定:域 , 端口号 , 协议类型
文末给大家分享一些c/c++ Linux服务器高阶知识视频资料 , 需要的朋友请后台私信【架构】获取知识点有C/C++ , Linux , golang技术 , Nginx , ZeroMQ , MySQL , Redis , fastdfs , MongoDB , ZK , 流媒体 , CDN , P2P , K8S , Docker , TCP/IP , 协程 , DPDK等等 。
Linux后台服务器开发——Linux下进程间通信的方式有哪些?文章插图
Linux后台服务器开发——Linux下进程间通信的方式有哪些?文章插图