1. Multi-programming :
Multi-programming is more than one process running at a time, it increases CPU utilization by organizing jobs (code and data) so that the CPU always has one to execute. The motive is to keep multiple jobs in main memory. If one job gets occupied with Input/output, CPU can be assigned to other job.
2. Multithreading :
Multithreading is a technique such that multiple threads are created of a process for increasing the computing speed of the system. In multithreading, many threads of a process are executed simultaneously and process creation in multithreading is done according to economical.
Difference between Multiprogramming and Multithreading :
|1.||The concurrent application of more than one program in the main memory is called as multiprogramming.||The process is divided into several different sub-processes called as threads, which has its own path of execution. This concept is called as multithreading.|
|2.||It takes more time to process the jobs.||It takes moderate amount of time for job processing.|
|3.||In this, one process is executed at a time.||In this, various components of the same process are being executed at a time.|
|4.||The number of users is one at a time.||The number of users usually one.|
|5.||Throughput is less.||Throughput is Moderate.|
|6.||Its efficiency is Less.||Its efficiency is moderate.|
|7.||It is economical.||It is economical.|
|8.||The number of CPU is one.||The number of CPU can be one or more than one.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.