国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 關(guān)于pipe的使用

關(guān)于pipe的使用 時(shí)間:2014-06-19      來源:未知

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

無名管道具有如下的特點(diǎn):

1、只能用于具有親緣關(guān)系的進(jìn)程之間。

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

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

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

關(guān)于管道在讀寫的時(shí)候需要注意以下幾點(diǎn):

1、讀:

(1)有寫端,至少有一個(gè)進(jìn)程,有寫端存在

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

無數(shù)據(jù):阻塞,等待其他進(jìn)程向管道寫入數(shù)據(jù)。

(2)無寫端,所有進(jìn)程,寫端都關(guān)閉了。

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

無數(shù)據(jù):無寫端意味著所有的寫描述符關(guān)閉了,不會(huì)向管道中寫入數(shù)據(jù)了,會(huì)立刻返回0.

2、寫:

(1)有讀端,至少有一個(gè)進(jìn)程,讀端存在。

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

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

(2)無讀端,所有進(jìn)程,寫端都關(guān)閉了。

沒有讀端的時(shí)候,想寫管道,會(huì)得到內(nèi)核給的SIGPIPE信號(hào)。管道破裂。

管道讀端不存在的時(shí)候,內(nèi)核是不允許向管道內(nèi)寫入數(shù)據(jù)的。

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

上一篇:Android init.rc解析

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

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部