有关于pv操作的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/16 07:57:13
Procedure P(Var S:Semaphore);
begin S := S-1;
if S<0 then W(S)
end;{P}
Procedure V(Var S;Semaphore);
begin S := S+1
if S<=0 then R(S)
end;{V}
请问上面这段程序代表啥意思?是用哪种语言编的?请越详细越好!本人刚自学这个搞不懂!

用Pascal写的:Pascal语言是由ALGOL 60发展而来的一种结构化的高级语言。其结构严谨、数据类型丰富,深得专业计算机工作者的重视,曾经成为计算机教育的标准语言。现在发展为Delphi语言,功能同样很强,也适合于各种应用。
开始P操作时。程序先定义一个信号量S,从begin开始 S:=S-1;
如果S<0就把进程置等待态w(s);W是wait的意思。end结束。
开始V打操作时。定义信号量S。S;=s+1;
如果s<=0。就把进程唤醒。R是roust的意思吧。end结束。