久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 關于(yu)管道(dao)使用規則(ze)的總(zong)結(jie)

關于管道(dao)使用規(gui)則的總結 時間:2014-08-21      來源:未知

中進程間(jian)通信方式中,有一(yi)種為(wei)無名(ming)管道。對管道的(de)(de)讀寫操作需要注意(yi)以下的(de)(de)使用(yong)規則:

1、當讀的時候:

 (1) 有寫(xie)(xie)端,至(zhi)少有一(yi)個進程,有寫(xie)(xie)端存(cun)在

有(you)數(shu)據(ju):使用read可以讀到pipe中的數(shu)據(ju),返(fan)回(hui)實際讀取的字節數(shu)

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

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

有數(shu)據:使用read可(ke)以讀到pipe中的(de)數(shu)據,返(fan)回(hui)實際讀取的(de)字節數(shu)

無數據:無寫(xie)端意味著(zhu)所有的寫(xie)描述(shu)符關閉了(le),不(bu)會向管道中寫(xie)入數據了(le),會立(li)刻(ke)返回0.

2、 當寫(xie)的時候(hou):

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

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

空間(jian)不足:有(you)多少寫多少,沒(mei)寫完的阻塞(sai)等(deng)待,直到其他(ta)進程(cheng)將管道中數據讀(du)走,才繼續寫入數據。可寫一個程(cheng)序來測(ce)試無名管道的大(da)小。(64K)

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

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

管道讀端不(bu)(bu)存(cun)在的時(shi)候,內(nei)核是不(bu)(bu)允許向管道內(nei)寫(xie)入數據的。以下程序能(neng)夠驗證:

上一篇:shell腳本的編寫基礎

下一篇:基于S5PC100裸機程序之SPI(下)

熱點文章(zhang)推薦(jian)
華清(qing)學員就業(ye)榜單(dan)
高薪學員經(jing)驗(yan)分享(xiang)
熱點新(xin)聞推薦
前臺專線:010-82525158 企業培(pei)訓(xun)洽談(tan)專線(xian):010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部