管道的特性

2021-07-05 21:06:57 字數 398 閱讀 3113

管道是一種兩個程序間進行單向通訊的機制。

其有如下限制:

1、單向通訊。資料只能由乙個程序流向另乙個程序(其中乙個讀管道,乙個寫管道)。建兩個管道可以實現雙向通訊。

2、只能用於父子程序或者兄弟程序間通訊。管道只能用於具有親緣關係的程序間通訊。

3、管道沒有名字。

4、管道的緩衝區大小有限制

5、傳輸的是無格式的位元組流。

使用管道進行通訊時,兩端的程序向管道讀寫資料是通過建立管道時獲取的檔案描述符。管道也是一種檔案,但它和一般的檔案不同的是,該檔案存在於記憶體。

by管道通訊的兩個程序,乙個程序向管道寫資料,另外乙個從中讀資料。

(檔案描述符對於每個程序一般是唯一的。當用fork子例程建立某個子程序時,該子程序會獲得其父程序所有檔案描述符的副本。)

linux 管道特性

管道的限制 1 單向 2 管道只能通過繼承傳遞 暫時管道的特性就這倆吧 1 管道的單向性,這個聽起來有點像二極體的單向導電性,反應事物與事物之間的聯絡。int fd 2 規定fd 0 是讀端,fd 1 是寫端,只能由一端讀一端寫,如果是父子程序間通訊,那麼通常寫法是把其中的一端關閉,問題是如果不關閉...

無名管道和有名管道的特性,特點

程序間通訊之管道 管道 無名管道 無名管道的建立和使用函式 標頭檔案 include 函式int pipe int filedes 2 int pipe int filedes 2 功能 經由引數 filedes 返回兩個檔案描述符 引數 filedes 為 int 型陣列的首位址,其存放了管道的檔...

Redis 新特性 pipeline(管道)

redis本身是乙個cs模式的tcp server,client可以通過乙個socket連續發起多個請求命令。每個請求命令發出後client通常會阻塞並等待redis服務端處理,redis服務端處理完後將結果返回給client。redis的pipeline 管道 功能在命令列中沒有,但redis是支...