In part 4, we introduced the concept of mutual exclusion. Mutual exclusion ensures that a shared variable can only be manipulated or modified by one thread at a time. That is, any time one thread is ...