Spinlock (software-only)
- turn only ping-pong like one-to-one problem
- flag only symultaniously raising flag problem
- Peterson's algorithm use flag and turn variable
repeat flag[i] := true; turn := j; while (flag[j] and turn = j) //cation to and //busy waiting = spinning critical section flag[i] := false; //else code until false;
spinlock (hardware atomic)
by hardware support atomic operation
atomic operation: cannot be disturbed
acquire()/lock(): before critical section
release()/unlock(): after critical section