Difference between Concurrent Processing and Parallel Processing
Both ‘Concurrent Processing’ and ‘Parallel Processing’ refer to multiple processes is executing by the CPU in a period,
but they are two different things.
According to the The Art of Concurrency ,
Concurrent means:
two or more processes are in progress at the same time
While Parallel means:
two or more processes executing simultaneously
It does look pretty similar but they are actually different.
For example,
two processes are executing,
process A and process B.
Parallel Processing
Parallel processing may look like this:
Both process A and Process B are being executed.
Concurrent Processing
But for concurrent processing,
the executing may look like the diagram above,
or it may look like this:
Both process A and process B are in progress,
but they are not executing at the same time.
Notice
Parallel processing is only a type of concurrent processing.
As long as there are multiple processes in progress,
it is concurrent processing.
There are many kinds of ways to achieve concurrent processing,
and parallel processing is only one of them.