我们为某临界区设置一把锁W,当W=l时表示关锁,W=0时表示锁已打开。试写出开锁原语和关锁原语,并利用它们去实现互斥。

admin2019-08-15  17

问题 我们为某临界区设置一把锁W,当W=l时表示关锁,W=0时表示锁已打开。试写出开锁原语和关锁原语,并利用它们去实现互斥。

选项

答案 (1)开锁原语: unlock(W): W:=0; 关锁原语: lock(W); if(W==1)do no_op; W=1: (2)利用开关锁原语实现互斥: var W:semaphore:=0; begin parbegin process: begin repeat lock(W); critical section unlock(W); remainder section until false; end parend

解析
转载请注明原文地址:https://jikaoti.com/ti/3jGjFFFM
0

最新回复(0)