50 likes | 56 Views
While (lock = 1) wait Lock = 1 <critical section> Lock = 0. While (lock = 1) wait Lock = 1 <critical section> Lock = 0. Loop1: While (turn != 1) wait <critical section> turn = 0 <noncritical section> GoToLoop1. Loop0: While (turn != 0) wait
E N D
While (lock = 1) wait Lock = 1 <critical section> Lock = 0 While (lock = 1) wait Lock = 1 <critical section> Lock = 0
Loop1: While (turn != 1) wait <critical section> turn = 0 <noncritical section> GoToLoop1 Loop0: While (turn != 0) wait <critical section> turn = 1 <noncritical section> GoToLoop0
Interested[0]=T Turn = 0 [While (Turn = 0) and (Interested[1]=T) Wait] <critical section> Interested[0] = F Interested[1]=T Turn = 1 [While (Turn = 1) and (Interested[0]=T) Wait] <critical section> Interested[1] = F