Difference between Process and User Level Thread

1. Process :
Process is an activity of executing a program. Process is of two types – User process and System process. Process control block controls the operation of the process.

2. User Level Thread :
On the basis of level, threads are of two types:

  1. User level
  2. Kernel Level

User level thread is a type of thread in which threads of a process are managed at user level. User threads are scheduled by thread library (user mode).



Difference between Process and User Level Thread:

PROCESS USER LEVEL THREAD
Process is a program being executed. User level thread is the thread managed at user level.
It is high overhead. It is low overhead.
There is no sharing between processes. User level threads share address space.
Process is scheduled by operating system. User level thread is scheduled by thread library.
Blocking one process does not affect the other processes. Blocking one user Level thread will block whole process of the thread.
Process is scheduled using process table. User level thread is scheduled using thread table.
It is heavy weight activity. It is light weight as compared to process.
It can be suspended. It can not be suspended.
Suspension of a process does not affect other processes. Suspension of user level thread leads to all the threads stop running.
Its types are – user process and system process. Its types are – user level single thread and user level multi thread.
Each process can run on different processor. All threads should run on only one processor.
Processes are independent from each other. User level threads are dependent.
Process supports parallelism. User level threads do not support parallelism.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.