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) p1.管道有什么特点?
( 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 i8 S& T- c- I5 B& `6 m" h

( l+ R- e. s' t  u; M% e2.无名管道与有名管道的区别?* 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