<ins id='6e8ku'></ins>

  • <dl id='6e8ku'></dl>

  • <tr id='6e8ku'><strong id='6e8ku'></strong><small id='6e8ku'></small><button id='6e8ku'></button><li id='6e8ku'><noscript id='6e8ku'><big id='6e8ku'></big><dt id='6e8ku'></dt></noscript></li></tr><ol id='6e8ku'><table id='6e8ku'><blockquote id='6e8ku'><tbody id='6e8ku'></tbody></blockquote></table></ol><u id='6e8ku'></u><kbd id='6e8ku'><kbd id='6e8ku'></kbd></kbd>

    1. <acronym id='6e8ku'><em id='6e8ku'></em><td id='6e8ku'><div id='6e8ku'></div></td></acronym><address id='6e8ku'><big id='6e8ku'><big id='6e8ku'></big><legend id='6e8ku'></legend></big></address>
    2. <span id='6e8ku'></span>

      <i id='6e8ku'><div id='6e8ku'><ins id='6e8ku'></ins></div></i>

          <code id='6e8ku'><strong id='6e8ku'></strong></code>
            <i id='6e8ku'></i>

          1. <fieldset id='6e8ku'></fieldset>

            Linux操作系统下进程间通信主要几种手段

            • 时间:
            • 浏览:2
            • 来源:124软件资讯网

              (1)管道(Pipe):管道可用于具有亲缘关系历程间的通讯 ,允许一个历程和另一个与它有配合祖先的历程之间举行通讯 。

              (2)命名管道(named pipe):命名管道战胜了管道没著名字的限制  ,因此  ,除具有管道所具有的功效外  ,它还允许无亲缘关系历程间的通讯  。命名管道在文件系统中有对应的文件名  。命名管道通过下令mkfifo或系统挪用mkfifo来建立  。

              (3)信号(Signal):信号是比力庞大的通讯方式  ,用于通知接受历程有某种事务发生 ,除了用于历程间通讯外 ,历程还可以发送信号给历程自己;linux除了支持Unix早期信号语义函数sigal外  ,还支持语义切合Posix.1尺度的信号函数sigaction(现实上 ,该函数是基于BSD的  ,BSD为了实现可靠信号机制  ,又能够统一对外接口  ,用sigaction函数重新实现了signal函数)  。

              (4)新闻(Message)行列:新闻行列是新闻的链接表  ,包罗Posix新闻行列system V新闻行列 。有足够权限的历程可以向行列中添加新闻  ,被赋予读权限的历程则可以读走行列中的新闻 。新闻行列战胜了信号承载信息量少  ,管道只能承载无花样字节省以及缓冲区巨细受限等缺

              (5)共享内存:使得多个历程可以会见统一块内存空间  ,是最快的可用IPC形式  。是针对其他通讯机制运行效率较低而设计的 。往往与其它通讯机制  ,如信号量联合使用  ,来到达历程间的同步及互斥 。

              (6)内存映射(mapped memory):内存映射允许任何多个历程间通讯  ,每一个使用该机制的历程通过把一个共享的文件映射到自己的历程地址空间来实现它  。

              (7)信号量(semaphore):主要作为历程间以及统一历程差别线程之间的同步手段  。

              (8)套接口(Socket):更为一样平常的历程间通讯机制  ,可用于差别机械之间的历程间通讯  。早先是由Unix系统的BSD分支开发出来的  ,但现在一样平常可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字