Multi Processing and Parallel Processing

What is the difference between ?

One way I see it as

Multiprocessing: Way to run more then one process at a given time. Think of it as being able to run 10 different programs on windows at the same time. Or having 10 apps open on your phone at a given time. Running more than one process or program on SINGLE processor.

  1. Each process allocates separate memory area.
  2. Process is heavyweight.
  3. Cost of communication is high.

Parallel Processing: Being able to run MULTIPLE processor at a given time. Think of it as running 10 different processor to compute answer to a single complex problem quickly. (Like a problem that can take 10 hours to solve on single processor, can be solved in 1 hour using 10 processor working Parallel. )

  1. Thread shares same address space.
  2. Thread are lightweight.
  3. Cost of communication between thread is low.