We gave a high-level overview of how concurrent programs execute. We saw how to create threads, use the fork/join pattern to perform many computations simultaneously.

At the end of lecture, we wrote a program with multiple threads accessing a shared variable, and saw that we got strange results. These will be explained and fixed in the next lecture.