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

admin2019-01-16  4

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

选项

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

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

最新回复(0)