Dekker's Algorithm.
I can't believe I was never taught this in college!
Dekker's Algorithm and Peterson's simplification thereof.
From Wikipedia:
Dekker's Algorithm and Peterson's simplification thereof.
From Wikipedia:
A concurrent programming algorithm for mutual exclusion that allows two processes to share a single-use resource without conflict, using only software means and shared memory for communication.
It avoids the strict alternation of a naive turn-taking algorithm, and was one of the first mutual exclusion algorithms to be invented. The first proveably correct software-only mutual exclusion algorithm.