EDA365电子论坛网
标题:
Linux C编程 ---- 进程间通信
[打印本页]
作者:
mytomorrow
时间:
2019-7-18 14:27
标题:
Linux C编程 ---- 进程间通信
进程间通信
) P( t/ A+ U2 b' m8 Q3 x0 S- e
* [+ t' y Q. x8 y
' u$ |* t, y; K) p
1.管道有什么特点?
( L' h; w U3 W+ Y7 Z
- ` t" v Z$ S* u
4 \2 E: r \: U/ R
管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。
4 _5 Z" Y" s8 I5 ?* I& W6 ~
3 e; }: ?0 j/ K
% z2 m# V. k( w2 {) L& H% B( Y
一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。
' T X' a3 c/ O; M) q5 n) S# O# {
, t8 E: ^: ^1 n4 \/ F$ P
, r9 b8 a& x$ l8 E, U
数据被一个进程读出后,将被从管道中删除,其它读进程将不能再读到这些数据。
- b4 L) k; W. K0 @( L
# b1 z. {. [( @6 s: w4 L
- S* I v; e: y
管道提供了简单的流控制机制,进程试图读空管道时,进程将阻塞。同样,管道已经满时,进程再试图向管道写入数据,进程将阻塞
$ R" n3 h4 E/ S. G
/ ?- }+ a. P( S5 ]. r
/ M% s6 J4 O/ b3 i
8 S& T- c- I5 B& `6 m" h
( l+ R- e. s' t u; M% e
2.无名管道与有名管道的区别?
* x) z; H' ]4 W) e6 ]/ W5 h
7 G8 g/ m8 g* k3 ?1 [5 }
' _1 V8 B$ p. }% `
3 H3 Q3 V a" |+ I( H' a
# w m" ]: U4 X# D: m. N. f' P
( V* O1 m8 f5 l( s$ i- D7 p
$ I( L! @6 O. S" ]- U
" V) q3 H: I j. ?4 l5 u$ [
* y7 C% E Y7 |& E
0 {) i: G: {6 I7 I1 l& [. {
+ r1 Y& `! h2 g
% T! a. V- }) X1 s# u$ v
作者:
gaoxings
时间:
2019-7-18 18:23
谢谢楼主分享
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2