You are on page 1of 7

Lee - 19

Reader -

wnterpobez
Reader thread → Read

.

threads →
while @
|②|
② writer
update
P Readers
① if > are
reading

Noisome ✗ .
② > 1 writers .
OR if writer && some other

thread ( R / w)
,
,
parallels,
→ Race conditions
& data inconstant


"

ab¥ OR # abed .
.
Solh to R W problems
Sema phons -

① Merten → Binay semaphore


ensnlsnm
-
to ensure mutual ,
then

read court Crc) is updated .

-
No .
two threads modify R.cat
sometime .

② Wrt → Binary semaphore .

-
common fur both readers writer
, .

③ read comtcrc) → integer So 3,


tracks how many readers are

reading in Crs
writer so In

DT
wait Cwrt)
;

11 do write
operation .

signal Cort;
3 while ( true) ;
Read 1h

do {
wait ( minter ) ; 11 to muten read cont variable
rctt ;

if @ ==
1)
wait Cwrt) ; I/ ensures no writer can enter if there is

11 even one reader

signal @ intern ) ;

11 Cos : Reader is reading


wait lmuten )
re ;
-
11 a reader leaves
-

if rc==o ) 11 no reader is left in CS


signal @ rt) ; 11 writer can enter
signal Cmuten ) ; I / reader leaves
3 while (1)

implant

You might also like