|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
LinuxC高级编程——线程
2 a* I% U2 b. T8 _' l: W) i8 t# ?; I
宗旨:技术的学习是有限的,分享的精神是无限的。
+ h+ ]1 Y7 C; E6 {
! m) Q5 O$ Q6 _7 G! m5 V8 u, U/ L1 g' K: f# r1 @6 c9 {" e
一、线程基础. h. w+ [$ t* W; u4 O
, O* u* K7 T- Z( z( _- n% I; g9 @
1 K: b n2 ?7 r- { main函数和信号处理函数是同一个进程地址空间中的多个控制流程,多线程也是如 此,但是比信号处理函数更加灵活,信号处理函数的控制流程只是在信号递达时产生,在处理完信 号之后就结束,而多线程的控制流程可以长期并存,操作系统会在各线程之间调度和切换,就像在 多个进程之间调度和切换一样。由于同一进程的多个线程共享同一地址空间,因此Text Segment、 Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一 个全局变量,在各线程中都可以访问到,除此之外,各线程还共享以下进程资源和环境:. w: b. @! T3 v6 d
- A T1 ` | x% a& U
# ?0 V# {& X3 I5 B6 N; m( _
& v6 f+ t) v3 }) ] h( ~! T! b8 @, Q
7 W5 s, o0 X7 e% D3 |7 t6 x4 f
|
|