Ping-Pong with One Semaphore?
Nachos semaphores have Mesa-like semantics:
They do not guarantee that a waiting thread wakes up “in time” to consume the count added by a V().
- semaphores are not “fair”
- no count is “reserved” for a waking thread
- uses “passive” vs. “active” implementation
blue: { sem->P(); PingPong(); }