|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
线程之间的同步和互斥
7 |6 y9 B# S" H! z/ |
# B# P/ }9 F+ w7 W8 G进行多线程编程,因为无法知道哪个线程会在哪个时候对共享资源进行操作,因此让如何保护共享资源变得复杂,通过下面这些技术的使用,可以解决
9 J9 n3 p) a! p) x( W. p* R
/ @* U+ d" f: a
0 J: {1 E y- v( w, B* Z* R线程之间对资源的竞争:, ^% C6 O6 ~6 i/ O1 A$ z4 f
! m" \/ e0 q O: i+ T& B: M9 N: ?2 T$ N# Z& [6 F
1. 互斥量Mutex
2 B; \* [9 v) n2 w
0 x0 m; `8 X7 v2 Y r: k. D
0 G, z$ x" O. s$ e- r2. 信号灯Semaphore
1 O% S% r9 O* O. G6 Y
2 E" y9 G3 }6 O. ~% x
' v, E- G, F5 _1 q# |3. 条件变量Conditions
% B- s" ?9 U0 {- J# K" [# e( M$ `( {8 O1 |- Z0 E. Y K
0 ^) C7 r1 Y- ~) w: ]2 H 6 x, B" f9 i0 n7 v+ } A6 Q
mutex互斥锁线程控制+ T( B% H1 C( }$ a! C* I
" B3 ]/ I. \8 N5 C) I4 k
+ f! ^. V; R7 u2 d9 K( Y4 U2 N7 y4 R2 H1 Z+ O
3 B# B$ f' e# [! a, w! R+ p8 O3 i# z
; G# T7 ~7 j7 ` v6 ?1 i$ f3 ~$ x
|
|