Open In App

Difference between Process and User Level Thread

Last Updated : 08 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

When you open a program like a browser or a game, computer divides its workload into smaller units which are processes and threads. It breaks the work into smaller parts to manage it better. Both play different roles in how the system handles tasks. A process is like a full program with its own memory and resources, while threads are smaller units that can run within a process.

Among threads, user level threads are managed differently from system-level ones. Understanding the difference between a process and a user level thread can help you see how your computer handles multiple tasks smoothly and efficiently.

Process

A process is essentially a running program on your computer. It includes everything the program needs to run: the code, memory, and resources. Every time you open a program, like a web browser or a game, a new process is created to handle it. Processes are independent, meaning each one runs separately, and they can use different resources without affecting each other.

Example: When you open your music player on your computer, the operating system creates a process for it. This process will have its own memory space, and it will run independently from other programs, like your web browser.

Read more about Process in OS

User Level Thread

A user-level thread, on the other hand, is a smaller unit within a process. Think of it as a task that the program needs to do. For example, while a web browser is a process, a thread might handle loading a webpage, while another one deals with running the JavaScript. Threads share resources within the same process, but they can work on different parts of the program at the same time, making them very efficient.

User-Level-Threads
User Level Threads

Example: Within that same music player process, there could be several threads. One might handle playing the music, another might handle the user interface, and a third might manage your playlist. These threads all share the same memory, but each is doing a specific job to keep the app running smoothly.

Read more about User Level Thread

Difference between Process and User Level Thread

PROCESSUSER 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.

Next Article

Similar Reads