Concurrency is when parts of a program can run simultaneously. For example, a program which adds all the numbers from 1 to 1 million could run faster on two cores by having one core add the numbers from 1 to 500,000 and the second core adding the numbers from 500,001 to 1 million, then finally you can just add the two results together.