Work through a collection of examples where multithreading where multithreading is used to simulataneously poll all of the myth machines to see which one is best suited for a CS110 student.
Work through one final concurrency example so large it deserved its own handout. Look at the latter half of this handout for the full problem description and simulation.
This one final program—the ice cream store simulation—illustrates all of the many synchronization patterns in one large (but still manageable) program.