Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init(rdr, false);
- init (wrt, false);
- int readcount = 0;
- writer()
- {
- while(true){
- wait(wrt);
- /* write */
- ....
- signal(wrt)
- }
- }
- reader()
- {
- while (true)
- {
- wait(rdr);
- readcount++;
- if (readcount == 1)
- wait(wrt)
- signal(rdr);
- /* read */
- ...
- wait(rdr);
- readcount--;
- if (readcount == 0)
- signal(wrt);
- signal(rdr);
- }
- }
- reader()
- {
- while (true)
- {
- while (wrt == true)
- no-op;
- wait(rdr);
- readcount++;
- if (readcount == 1)
- wait(wrt)
- signal(rdr);
- /* read */
- ...
- wait(rdr);
- readcount--;
- if (readcount == 0)
- signal(wrt);
- signal(rdr);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement