Inter-Thread Communication
Sometimes one thread may be
interested in the activities of another.
Or, one could have a functional
dependency on another.
Reading from a file or over a network?
Waiting for a given thread to return a
result.
Polling (Busy Waiting) vs. Notification
BadConsumer Example