Locking
Typical use of a lock:
while (!acquire (lock))
; spin
/* some computation on shared data*/
release (lock)
Acquire based on primitive: Read-Modify-Write
Basic principle: “Atomic exchange”
Test-and-set
Fetch-and-add
Previous slide
Next slide
Back to first slide
View graphic version