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