• Linux 进程通信方式


    转载文章

    进程通信的方式
    管道( pipe ):
    管道包括三种:
    普通管道PIPE: 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.
    流管道s_pipe: 去除了第一种限制,为半双工,只能在父子或兄弟进程间使用,可以双向传输.
    命名管道:name_pipe:去除了第二种限制,可以在许多并不相关的进程之间进行通讯.

    信号量( semophore ) :
    信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

    消息队列( message queue ) :
    消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

    信号 ( sinal ) :
    信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

    共享内存( shared memory ) :
    共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

    套接字( socket ) :
    套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。
    ---------------------
    作者:九月清晨_
    来源:CSDN
    原文:https://blog.csdn.net/Dom4j_/article/details/83064671
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/shineyoung/p/10538780.html
Copyright © 2020-2023  润新知