A maior rede de estudos do Brasil

Grátis
18 pág.
Sistemas Operacionais e Programação Concorrente - Capítulo 13

Pré-visualização | Página 6 de 10

s m o ( l e m b r e
qu c n äo e x i s t e o c o m a n d o s e l e r l ) N o s p r o c c s s o l W a s t h r e u t b n ao s ao n e c e s s ür ia s
Scanned by CamScanner
178 s i s t e 1n a s o pe r a c i o n a i s e Pr o g r a m a ç i0o C o n c o r r e n t e S S T o s c a n i R S de O l i a e A s Ca r i ssim i
D e f 1n i ç o d o c o r p o d e u l 11a I / ï r e a d
0 c o n ju n t o d e i n s t r u çõe s a s e r e x e c u t a do po r u m a t h r e a d é de f in i «lo po r u m a f u n ção C o u po r u mm é t o d o C + + A f u n ção o u o m ét o d o qu e de f i n e o c o m p o r t a m e n t o d a t h r e a d (fu n çã o c o l p o ) po der e c e b e r p a r âm e t r o s 7 r e s e m p r e r e to m a u m v a l o r O v a l o r de r et or no é u m p o n t e i r o p a r a o dadoq u e c o n s t i tu i 0 v a l o r de r et or no p r o p r i a m e n te d i t o Se n ão há da do de r et or no
, 
e n tão 0 po n te i r o éN U L L
C r i a ç i i o d e u m a t ì i r e a d
A c r i a ç ão s e d á a t r a v és da p r i m i t i v a p t h r e a d c r e a t e
, q l i e p o s s u i 4 a r g u m e n to s
, 
o s qu a i s sãod e s c r i t o s n o s p a r ág r a f o s a s e g u i r E s t a p r i m i t i v a r e t o m a o (z e r o ) s e a n o v a th r e a d é c r i ada c o m
s u c e s s o N o f i n a l d a e x e c u ção d a t h r e a d
, 
s e a s u a f u n ção c o r p o r e to m a r a l g u m d a do
, 
e s s e dado
s e r á r e c u p e r a d o p e l a p r i m i t i v a j o in , q u e s e r á v i s t a a d i a n t e
O Pr i m e i r o a r gu m e n t o de p t / t r e a d c r e a t e é o e n de r e ço d e u m a v a r i áv e l qu e i r á r e c ebe r ai d e n t i f i c a ç îi o ú n i c a d a 1/1r e a d 7z c r i a d a
O s e g u n d o a r g u m e n t o
, 
é u m p o n te i r o p a r a u m d e s c D t o r d e a t r i b u t o s d a t h r e a d s e e s te
Po n t e i r o é N U L L
, 
s ìio u t i l i z a d o s a t r ib u t o s d e l a u h U m d o s a t r i b u t o s d i z s e a i b r e a d é do t ipo
" j o i n a b l e " ( i s t o é
, 
s e e s s a t ìzr e a d s e s i n c f o n i z a c o m o u t r a a tn 1v és d e o p e r a ç ìio j o in ) Se f o r o c a so ,
a á r e a d e d a d o s d e s s a t / t r e a d s ó s e r á l ibe r a d a a p (i s a e x e c u ção d a p r i m i t i v a j o in , o c a s i ão e m qu e o
v a l o r r e t o m a do p e l a t l 1r e a d s e r á r e c u pe r a do O u t r o a t r i b u t o i n d i c a a p o l í t i c a de e s c a l o n a m e n to a
s e r u s a d a
, 
a q u a l p o de s e r F I F O
, 
R R (R o u n d R o b i n ) o u OT H ER (qu e c o r r e s p o n de à po l ític ad e fa u t t d a b i b l i o t e c a )
O te r c e i r o a r g u m e n to i n d i c a a f u n ção qu e c o n s t i tu i o c o r p o d a t h r e a d A m e s m a f unç
c o r p o p o d e s e r u s a d a p a r a c r i a r v ár i a s th r e a d s
Fi n a l m e n t e
, 
o q u a r t o a rg u m e n t o é u m po n t e i r o p a r a a fir e a d e m e m ó r i a qu e c o n t m os
p a r âm e t r o s d e e n t r a da pa r a a f u n ção c o r p o d a t /zr e a t t
T ér m i n o d e u n i a 1l zr e a l l
O tér m i n o s e dá a o f in a l d a e x e c u ç o da I' u n ção c o 中 d a 1/zr e a d
, 
t i p ic a m e n te a t r a v és de 
u n l
c o m a n do r e t u r n Al t ernat i vament e a o r e 1u r n
, 
o p r o g r a m a do r po de u s a r a p r i m i t i v a p 1h r r t 1d
e ei1
q u e t e m c o m o a r g u m e n to u m po n te i r o pa r a o v a l o r de r e t o r n o d a 1/Br e a d
Si n c r o n 1z a çã o d a e x e e u ç o d e i l l r e a d s
A Pr i m i t i v a P1/ t r e a d j o in po s s u i d o i s a rg u m e n t o s El a b lo q u e ia a 1/ t r e a d q u e a e x e c u ta , a t q
ue
te r m i n e a t h r e a d e s p e c i f i c a da e m s e u p r i m e i r o a r gu m e n to (e s t e a r g u m e n t o é u m a ide n t i f ic aç
 
o
7 1 N a v e r d a de
, 
 u m ún i c o pa r am e t r o q u e a po n t a pa r a u m a l i s t a de a rgu m e n t o s" Ca s o s e fa ça n e c e s s ár io
, 
u m a t h r e a d po de t e r a c e s s o à s u a pM p r i a ide n t i fi c a çao a t r a v es da p r i m i t i v a p 1/1 r e
a d s t
Scanned by CamScanner
Capt ul o 13 C o n s id e r a çö e s C o m p le m e n t a r e s 179
de t h r e a d ) O s e g u n d o a r g u m e n t o p e r m i t e r e c e b e r o d a d o r et or nado pe l a (f u n çãc Þ c o r po d a )
t h r e a d , q u a n d o a m e s m a t e r m i n a
C o m p a r t i l h a m e n t o d e d a d o s
A s e gu i r s ão a p r e s e n t a d o s o s m e c a n i s m o s de f i n i do s pe l o pa dr ão p OS IX p a r a c o o r dm a r o
c o m p a r t i l h a m e n t o d e d a d o s e n t r e a s th r e a ds de u m p r o c e s s o
v a D áv e i s t i p o m u t e x
U m a v a r i áv e l m u t e x p o d e s e r v i s t a c o m o u m s e m á fo r o b i n ár i o c u ja s o pe r a çõe s P e V pa s s a m a
s e r d e n o m i n a d a s l o c k e u n l o c k
, 
r e s pe c t i v a m e n t e A s pDm i t i v a s p a r a m a n i pu l a ção de v a r i áv e i s
m u t e x s ão a p r e s e n t a d a s a s e gu i r
A p D m i t i v a p t h r e a d m u t e x i n i t pe r m i te d e f i n i r (i s t o é , c D a r e i n i c i a l i z a r ) u m a v a r i áv e l
t i p o m u t e x São n e c e s s ár i o s d o i s a r gu m e n t o s O p D m e i r o de f i n e o n o m e d a v a r i áv e l e o s e g u n d o
o s e u v a l o r i n i c i a l
, q u e p o d e s e r a be r 1o o u Te c ha d o Se o s e g u n do a r g u m e n t o fo r N U L L , o v a l o r
i n i c i a l s e r á a b e r t o (v a l o r d e fa u l t )
A s p D m ì t i v a s p t h r e a d m u t e x lo c k e p t ï1r e a d m u t e x u n lo c k p o s s u e m u m ún i c o
a r gu m e n t o , q u e é o n o m e d a v a r i áv e l m u t e x e n v o l v i da n a o pe r a ção A s e n 落 l1l t i c a d e s t a s
o pe r a çõ e s é a m e s m a d a s o p e r a çõe s P e V s o b r e u m s e m áf o r o b i n ár i o V a l e o b s e r v a r q u e e s t a s
o p e r a çö e s ( l o c k l u n to c k ) t a m bém s ão e q u i v a l e n t e s às o pe r a çõe s m u t e x b e g i n / m u t e x e n d
pa r a m e t r i z a d a s
V a r iáv e i s d e c o n d iç o
E s t a s v a r i áv e i s f o r a m f o r t e m e n t e i n s p i r a da s n a s v a r i áv e i s do t ip o c o n d i t i o n d e m o n i t o r e s A l iás .
o pe r a çõe s s o b r e e s t a s v a r i áv e i s s ó de v e m s e r e
x e c u t a da s de n t r o de s e çöe s c r f t i c a s p r o t e g i da s po r
o pe r a çõ e s l o c k e u n l o c k , s o b pe n a de r e s u l t a
do s i m p r e v i s f v e i s s e r e m o b t i do s
A p r i m i t i v a p 1h r e a d c o n d i n i t de
f i n e e i n i c i a l i z a u m a v a r i áv e l do t i p o c o n d i t i o n S* o
n e c e s s ár i o s do i s a r g u m e n t o s O p r i m e i r o é o n o
m e d a v a r i áv e l a s e r c r i a d a e o s e gu n d o u m
po n te i r o p a r a s e u s a t r i b u t o s (s e N U L L , v a l o r e s de la u l t s ão u t
i l i z a d o s )
A p r i m i t i v a p t h r e a d c o n d w a i t po s s u
i do i s a r g u m e n t o s : o n o m e da v a r i áv e l c o n d i1io n
e n v o l v i d a n a o pe r a ção e o n o m e de u r n a v a r i
áv e l m u re x a s s o c i a da , q u e de v e te r s i do c h a v e a da
(l o c k ed ) an te D o r m e n t e