Event flags provide a powerful tool for thread synchronization. Event flags can be set or cleared 1 by any thread and can be inspected by any thread. Threads can suspend while waiting for some combination of event flags to be set. Each event flag is represented by a single bit. Event flags are arranged in groups of 32 as illustrated by Figure 12.1.