What are the benefits of multiprogramming?
Responsiveness: Multithreading is an interactive application may permit a program to continue running even if part of it is blocked or is performing a lengthy operation, thus increasing responsiveness to user.
Resource Sharing: By default threads allocate the memory and resources of the process to which they belong.
Economy: Allocating resources and memory for process is expensive. However since allocate resources it more economical
Utilization of multiprocessor architectures: The benefits of multithreading can be greatly improved in a multiprocessor architecture where each thread may be running in parallel on a different processor.