为某临界区设置一把锁W,当W=1时,表示关锁;
发布网友
发布时间:2022-12-22 02:23
我来回答
共3个回答
热心网友
时间:2024-12-03 13:16
答:整型信号量:lock(W): while W=1 do no-op W:=1;
unlock(W): W:=0;
记录型信号量:lock(W): W:=W+1;
if(W>1) then block(W, L)
unlock(W): W:=W-1;
if(W>0) then wakeup(W, L)
例子:
Var W:semaphore:=0;
begin
repeat
lock(W);
critical section
unlock(W);
remainder section
until false;
end
热心网友
时间:2024-12-03 13:17
你好!
signal(w)
do
something
wait(w)
仅代表个人观点,不喜勿喷,谢谢。
热心网友
时间:2024-12-03 13:17
signal(w)
do something
wait(w)