Answer
$Multi-programming$ allows multiple programs to run simultaneously by sharing the same CPU
$Multi-threading$ allows a single program to execute multiple tasks at the same time.
$Multi-processing$, or parallel processing, uses two or more processors together to perform subtasks concurrently and then combine solutions of the subtasks to obtain a solution for the entire task.
Work Step by Step
$Multi-programming$ allows multiple programs to run simultaneously by sharing the same CPU. The CPU is much faster than the computer’s other components. As a result, it is idle most of the time—for example, while waiting for data to be transferred from a disk or waiting for other system resources to respond.
A multiprogramming OS takes advantage of this situation by allowing multiple programs to use the CPU when it would otherwise be idle
$Multi-threading$ allows a single program to execute multiple tasks at the same time. For instance, a word-processing program allows users to simultaneously edit text and save it to a disk. In this example, editing and saving are two tasks within the same application. These two tasks may run concurrently.
$Multi-processing$, or parallel processing, uses two or more processors together to perform subtasks concurrently and then combine solutions of the subtasks to obtain a solution for the entire task. It is like a surgical operation where several doctors work together on one patient.