Coordination between different threads is known as synchronization. Programs that use threads can be divided into the following four levels of difficulty, depending on the kind of synchronization needed between the different threads.
Related but unsynchronized threads
Mutually exclusive threads
Communicating mutually exclusive threads
We will deal with the first two here and the second two in the next chapter. Figure 13-3 is the key for all illustrations dealing with this topic.
Figure 13-3. Key to threads diagrams
The simplest threads program involves threads ...