Parallel computation and concurrent computation
These two concepts are often confounded and otherwise used interchangeably (this book even does it!). But this is a mistake; they are different, although subtly, but it is an important distinction.
I'll use the word context to talk about threads or processes. These are, obviously, not the same thing, but they do share in concept with respect to parallel versus concurrent.
Parallel processing is simply the execution of two or more contexts simultaneously. Visually, this may look similar to the following diagram:
The contexts are executing at the same time, there is no switching or other interruptions between the execution.
Concurrent processing is subtly different. It can appear to be parallel, and in fact, be parallel, but there is no guarantee that it actually is parallel. For example, two contexts could be attempting to execute, but contend the CPU. The scheduler is then executing between the two, based on some criterion (cache miss, deadline...