Using Atomic Test-and-Set
signal ( S)
S = S + 1 ;
wait ( S)
try_again: if ( Test-and-Set( addr(S) ) == 0 ) then
goto try_again ;
Test-and-set ( addr )
return Memory[addr]
Memory[addr] 0
Previous slide
Next slide
Back to first slide
View graphic version