An Alternate Concurrency Primitive
•Rather than using the Test&Set to guard shared data, use Fetch&Add
•Fetch&Add is an atomic read-modify-write operation on memory -- requires special hardware, to be discussed
•Use Fetch&Add as a semaphore and as a scheduler
•Operation:  Fetch&Add(V,e)
•V is a memory location
•e is an integer expression
•Contents of V are returned
•New value of V is V+e
•Operation is atomic
V: 0
Fetch&Add(V,1)
V: 1
0 is returned