Concurrency and parallelism are two different terms, which are often used in relation to multi-threaded programs. But what exactly does concurrency and parallelism mean?
Concurrency:- The Concurrency means Interrupt-ability. Which means an application is making progress on more than one task at the same time (concurrently). Well, if the computer only has one CPU the application may not make progress on more than one task at exactly the same time, but more than one task is being processed at a time inside application. It does not completely finish one task before it begins the next.
Parallelism:- The Parallelism means Independent-ability. Which means an application splits its tasks up into smaller subtasks which can be processed in parallel, for instance on multiple CPUs at the exact same time.