reader and writer

来源:互联网 发布:苹果破解软件下载 编辑:程序博客网 时间:2024/04/29 11:18
Var rmutex,wmutex: semophore:=1,1;Readcount: integer:=0;beginparbeginReader: beginrepeatwait(rmutex);if Readcount=0 then wait(wmutex);Readcount:=Readcount+1;signal(rmutex);**********************perform read operation;**********************wait(rmutex);Readcount:=Readcount-1;if Readcount=0 then signal(wmutex);//既可以防止在有读者的情况下阻止写者进入,又可以在有写者的情况下堵塞读者自己signal(rmutex);until false;endwriter: beginrepeatwait(wmutex);*********************perform write operation**********************signal(wmutex);until false;end

0 0
原创粉丝点击