vault backup: 2025-04-03 01:00:03
This commit is contained in:
parent
57a24ed0b0
commit
10ecadf7c6
1 changed files with 0 additions and 33 deletions
|
@ -34,36 +34,3 @@ end_write() :=
|
||||||
GLOB_MUTEX.up()
|
GLOB_MUTEX.up()
|
||||||
return
|
return
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
|
||||||
monitor RW_READERS :=
|
|
||||||
AR, WR, AW, WW, R_batch init at 0
|
|
||||||
condition CR, CW
|
|
||||||
|
|
||||||
operation begin_read() :=
|
|
||||||
WR++
|
|
||||||
if (WW || AW != 0 then
|
|
||||||
CR.wait()
|
|
||||||
CR.signal()
|
|
||||||
AR++
|
|
||||||
WR--
|
|
||||||
|
|
||||||
operation end_read() :=
|
|
||||||
AR--
|
|
||||||
if AR = 0 then
|
|
||||||
CW.signal()
|
|
||||||
|
|
||||||
operation begin_write() :=
|
|
||||||
WW++
|
|
||||||
if (AR + AW != 0) then
|
|
||||||
CW.wait()
|
|
||||||
AW++
|
|
||||||
WW--
|
|
||||||
|
|
||||||
operation end_write() :=
|
|
||||||
AW--
|
|
||||||
if WR > 0 then
|
|
||||||
CR.signal()
|
|
||||||
else
|
|
||||||
CW.signal()
|
|
||||||
```
|
|
Loading…
Add table
Add a link
Reference in a new issue