Sequential vs. Concurrent
Programs we’ve done so far are sequential: one statement executes after another
In concurrent programs, more than one thing is happening at the same time
A thread is a sequential flow of execution through a program that occurs at the same time another sequential flow of execution is running the same program
Not necessarily the same statements at the same time, though