Problem: What happens if threads don't interact safely?
Problem: How can threads be made to interact safely?
synchronized
wait
notify(All)
wait/notify
Problem: What happens if safety of thread interaction is not managed well?