In an environment with more than one CPU, we can parallelize the
computation tasks on multiple CPUs. This leads to parallel
processing of a bigger task that takes lesser time due to multiple
threads dividing the work among themselves.
One example is that if we have to process 1000 data files and
calculate the sum of numbers in each file. If each file takes 5
minutes, then 1000 files will take 5000 minutes for processing.
But by using multi-threading we can process these files in 10
parallel threads. So each thread will take 100 files each. Since now
work is happening in 10 parallel threads, the time taken will be
around 500 minutes