Lecture 15: hw6 and concurrency

We go through hw6 in some more detail, with example runs, then discuss how threads behave in a concurrent program, including several examples of race conditions.