gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 關于pipe的使用

關于pipe的使用 時間:2014-06-19      來源:未知

Pipe就是咱們常說的無名管道,是進程間通信方式的一種。在使用pipe進行進程間通信時,需要熟悉他的特點及使用規(guī)則。

無名管道具有如下的特點:

1、只能用于具有親緣關系的進程之間。

2、半雙工的通信模式,具有固定的讀端和寫端。

3、管道可以看成是一種特殊的文件,對于它的讀寫可以使用文件IO如read、write函數。

4、管道是基于文件描述符的通信方式。當一個管道建立時,它會創(chuàng)建兩個文件描述符fd[0]和fd[1]。其中fd[0]固定用于讀管道,而fd[1]固定用于寫管道。

關于管道在讀寫的時候需要注意以下幾點:

1、讀:

(1)有寫端,至少有一個進程,有寫端存在

有數據:使用read可以讀到pipe中的數據,返回實際讀取的字節(jié)數

無數據:阻塞,等待其他進程向管道寫入數據。

(2)無寫端,所有進程,寫端都關閉了。

有數據:使用read可以讀到pipe中的數據,返回實際讀取的字節(jié)數

無數據:無寫端意味著所有的寫描述符關閉了,不會向管道中寫入數據了,會立刻返回0.

2、寫:

(1)有讀端,至少有一個進程,讀端存在。

有空間:可使用write向管道中寫入內容,返回實際寫入的字節(jié)數。

空間不足:有多少寫多少,沒寫完的阻塞等待,直到其他進程將管道中數據讀走,才繼續(xù)寫入數據。

(2)無讀端,所有進程,寫端都關閉了。

沒有讀端的時候,想寫管道,會得到內核給的SIGPIPE信號。管道破裂。

管道讀端不存在的時候,內核是不允許向管道內寫入數據的。

Pipe創(chuàng)建之后,在內核中。當所有的讀端和寫端都關閉的時候,pipe將被釋放掉

上一篇:Android init.rc解析

下一篇:Button監(jiān)聽器的五種方式

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部