Linux的进程/线程间通信方式总结_逸嵌YuWendong


Linux零碎说话中肯工序间通信次要有以下几种办法

相同男教师上的工序通信打字

   *
UNIX工序间通信打字 包含管道(管道), 命名管道(FIFO), 用枪打猎(用枪打猎)

   *
System V工序通信打字:包含用枪打猎量(用枪打猎量), 音讯队列(音讯) 队列), 共享内存(共享)
唤回

网男教师间的工序通信

   *
RPC: Remote Procedure Call 微小的工序转移

   *
Socket: 趋势最流传的网通信打字, 本TCP/IP草案的通信办法。


它们各自的特有的如次


  • 管子(管子)
    :渠道是半转接通信打字。,材料唯一的在一任一某一趋势淹没。,它唯一的用于联系的工序(爷儿俩工序)。以及,渠道运输无体式的八位字节流。,管道斥责者的按大小排列是有受限度局限的的(渠道缓冲液在i),引起管道时,将重要事变按大小排列分神智清楚的缓冲液。

  • 知名管道 (上进先出)

    命名管道同样半转接通信打字。,但它容许有关工序中间的通信。。

  • 用枪打猎(用枪打猎)

    用枪打猎是一种更为复杂的通信办法。,用于告诉接纳工序发作的事变。。

  • 用枪打猎量(用枪打猎量)
    :用枪打猎量是一任一某一筹码。,它可以用来把持多个工序对公用资源的应用。。它常被用作锁定机构。,防备工序应用公用资源,倚靠工序也应用资源。。依据,它次要用作工序和区分工序中间的同步的器。。

  • 音讯队列(音讯) 队列)
    :音讯队列是音讯的链表。,往事在内核中并由音讯队列检验人表示特性的。。音讯队列克制了较小地的人运输。、管道唯一的承载体式八位字节流和限度局限。

  • 共享内存(共享) Memory )
    :共享内存在映照可由倚靠工序应用的内存。,同样共享内存是由工序引起的。,再可以应用多个工序。。共享内存是感光快的的。
    IPC
    办法,它是特意为倚靠工序间通信的低效率而设计的。。它通常与倚靠通信机制中间定位联。,如用枪打猎量,联合工作应用,实现预期的结果工序间的同步的和通信。。

  • 插座(插座)

    持枪同样一种工序间通信机制。,与倚靠通信机制区分,,它可以用于区分男教师中间的工序通信。。


Linux零碎说话中肯线程间通信办法次要以下几种:


 锁机制:包含专有物锁、状态变量、读写锁

   互相排斥粮食了一种防备材料结构在EX中被修正的办法。。


 
 读写锁容许多个线程在相同时间读取和共享材料。,写容易搬运是互斥的。。

   状态变量可以以原子办法闭塞工序。,直到某个状态找到为止。。状态的勘探是在互斥看守下举行的。。状态变量永远与专有物锁一齐应用。。


 用枪打猎量机制(用枪打猎量):包含隐姓埋名线程用枪打猎量和命名线程用枪打猎量。


 用枪打猎机制(用枪打猎):工序间的用枪打猎处置


线程间通信的终点次要是线程同步的。,依据,工序通信中没材料交易所的通信机制。。

整枝中,请稍等。

发表评论

电子邮件地址不会被公开。 必填项已用*标注