什麼是程式間通訊?Linux程式間通訊有幾種方式?
Linux程式間通訊有幾種方式?所謂程式間通訊,就是在不同程式之間傳播或交換資訊,Linux支援多種程式間通訊機制,常見的方式如下:
程式間通訊(IPC,Interprocess communication)是一組程式設計介面,讓程式設計師能夠協調不同的程式,使之能在一個作業系統裡同時執行,並相互傳遞、交換資訊。這使得一個程式能夠在同一時間裡處理許多使用者的要求。因為即使只有一個使用者發出要求,也可能導致一個作業系統中多個程式的執行,程式之間必須互相通話。IPC介面就提供了這種可能性。每個IPC方法均有它自己的優點和侷限性,一般,對於單個程式而言使用所有的IPC方法是不常見的。
1、無名管道通訊
無名管道(pipe):管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程式間使用,程式的親緣關係通常是指父子程式關係。
2、高*管道通訊
高*管道(popen):將另一個程式當做一個新的程式在當前程式程式中啟動,則它算是當前程式的子程式,這種方式我們稱為高*管道方式。
3、有名管道通訊
有名管道(named pipe):有名管道也是半雙工的通訊方式,但是它允許無親緣關係程式間的通訊。
4、訊息佇列通訊
訊息佇列(message queue):訊息佇列是由訊息的連結串列,存放在核心中並由訊息佇列識別符號標識,訊息佇列克服了訊號傳遞資訊少、管道只能承載無格式位元組流以及緩衝區大小受限等缺點。
5、訊號量通訊
訊號量(semophore):訊號量是一個計數器,可以用來控制多個程式對共享資源的訪問,它常作為一種鎖機制,防止某程式正在訪問共享資源時,其他程式訪問該資源。因此,主要作為程式間以及同一程式內不同執行緒之間的同步手段。
6、訊號
訊號(sinal):訊號是一種比較複雜的通訊方式,用於通知接收程式某個事件已經發生。
7、共享記憶體通訊
共享記憶體(shared memory):共享記憶體就是對映一段能被其他程式所訪問的記憶體,這段共享記憶體由一個程式建立,但多個程式都可以訪問。共享記憶體是最快的IPC方式,它是針對其他程式間通訊方式執行效率低而專門設計的。它往往與其他通訊機制,如訊號量,配合使用,來實現程式間的同步和通訊。
8、套接字通訊
套接字(socket):套接字也是一種程式間通訊機制,與其他通訊機制不同的是,它可用於不同機器間的程式通訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2992747/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式間通訊是什麼?Linux程式間通訊有幾種方式?Linux
- 程式間的幾種通訊方式
- 幾種程式間的通訊方式
- T面試題:程式間的通訊方式有哪幾種?面試題
- 程式間通訊方式有哪些?
- 程式間的8種通訊方式
- Linux程式間通訊有幾種方式?這8個你都知道嗎?Linux
- Linux中程式間通訊是什麼概念?目的是什麼?Linux
- Linux程式間通訊的6種不同方式Linux
- Android開啟多程式及程式間通訊的幾種方式Android
- 程式間的五種通訊方式介紹
- Windows程式間各種通訊方式淺談Windows
- Linux程式間通訊Linux
- 程式間通訊——LINUXLinux
- React中元件間通訊的幾種方式React元件
- 程式間通訊
- windows下程式間通訊的方式Windows
- Linux程式間通訊-eventfdLinux
- Linux程式間通訊1Linux
- Linux程式間通訊2Linux
- Linux程式間的通訊方式有哪些?Linux入門教程Linux
- 程式間的五種通訊方式介紹-詳解
- Linux 程式間通訊的六種機制Linux
- PHP程式間通訊PHP
- 程式間的通訊
- 程式間通訊(Socket)
- 程式間通訊 --IPC
- windows程式間通訊Windows
- Linux程式間通訊——使用訊號量Linux
- linux程式間通訊-----訊號總結Linux
- linux 程式間通訊之FIFOLinux
- Linux 的程式間通訊:管道Linux
- linux 程式間通訊之管道Linux
- Linux程式之間如何通訊?Linux
- 程式間的八種通訊方式----共享記憶體是最快的 IPC 方式記憶體
- 在Linux中,程序間通訊方式有哪些?Linux
- Linux系統程式設計之程式間通訊方式:訊息佇列Linux程式設計佇列
- 程式間通訊簡介