We will restrict our attention to two flag values that will be used by Speedy_Thread and Slow_Thread to communicate with each other. There are no critical sections in this sample system. The threads synchronize their activities with the event flags group. The two event flag values we will use are 0xF0, which we will call speedy_flags, and 0x0F, which we will call slow_flags.5 In Figure 11.21, when Speedy_Thread enters Activity 2 or Activity 4, it tries to get slow_flags. If it is successful, it clears those flags, sets speedy_ flags, and continues processing.