Open In App

Difference between Process and User Level Thread

Last Updated : 16 May, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads