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


Linux零碎切中要害男高音的间通信首要有以下几种办法

同卵双胞主人的上的男高音的通信形式

   *
UNIX男高音的间通信形式 包罗管道(管道), 命名管道(FIFO), 预兆(预兆)

   *
System V男高音的通信形式:包罗预兆量(预兆量), 音讯队列(音讯) 队列), 共享内存(共享)
回想

用网覆盖主人的间的男高音的通信

   *
RPC: Remote Procedure Call 遥控器追逐转移

   *
Socket: 流传的最流传的用网覆盖通信形式, 鉴于TCP/IP礼仪的通信办法。


它们各自的特征列举如下


  • 管子(管子)
    :输油管道是半转接通信形式。,创纪录的仅有的在任一忍受延续。,它仅有的用于浪漫关系的追逐(爷儿俩追逐)。更,输油管道转乘无体式的八位位组流。,管道拒绝者的堆积起来是限定的(输油管道缓冲液在i),创办管道时,将页堆积起来分养家费缓冲液。

  • 知名管道 (上进先出)

    命名管道亦半转接通信形式。,但它容许无干男高音的中间的通信。。

  • 预兆(预兆)

    预兆是一种更为复杂的通信办法。,用于供传阅的收执男高音的发作的事变。。

  • 预兆量(预兆量)
    :预兆量是任一完全符合。,它可以用来把持多个男高音的对公用资源的会谈。。它常被用作锁定机构。,屯积男高音的会谈公用资源,另一边男高音的也会谈资源。。因而,它首要用作男高音的和不相同男高音的中间的同时性器。。

  • 音讯队列(音讯) 队列)
    :音讯队列是音讯的链表。,蓄电在内核中并由音讯队列间歇验明。。音讯队列克复了较小地的新闻转乘。、管道仅有的承载体式八位位组流和限度局限。

  • 共享内存(共享) Memory )
    :共享内存正映照可由另一边男高音的会谈的内存。,这人共享内存是由男高音的创办的。,再可以会谈多个男高音的。。共享内存是走得快的。
    IPC
    办法,它是特意为另一边男高音的间通信的低效率而设计的。。它通常与另一边通信机制互相牵连联。,如预兆量,联合工作运用,获得男高音的间的同时性和通信。。

  • 插座(插座)

    左转舵亦一种男高音的间通信机制。,与另一边通信机制不相同,,它可以用于不相同主人的中间的男高音的通信。。


Linux零碎切中要害线程间通信办法首要以下几种:


 锁机制:包罗专用的锁、状态变量、读写锁

   守护互斥体布置了一种屯积创纪录的结构在EX中被修正的办法。。


 
 Read WraveLoCK容许多个线程在同卵双胞时间读取和共享创纪录的。,写开刀是互斥的。。

   状态变量可以以原子办法闭塞男高音的。,直到某个状态建立为止。。状态的结帐是在互斥维护下举行的。。状态变量老是与专用的锁一同运用。。


 预兆量机制(预兆量):包罗隐姓埋名线程预兆量和命名线程预兆量。


 预兆机制(预兆):男高音的间的预兆处置


线程间通信的意思首要是线程同时性。,因而,男高音的通信中缺席创纪录的交流的通信机制。。

装载中,请稍等。

发表评论

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