Critical Section Solutions
Three essential qualities of a CS solution:
- Mutual Exclusion
- Only one thread in the critical section at a time
- Progress
- If no one is in the CS, and A and B want to get in, then only A and B can participate in the decision for who’s next, and the decision must happen in a timely fashion
- Bounded Waiting
- If A wants to get in, B should not get arbitrarily many turns before A gets a turn