When threads are better than processes? Explain the concept of user level threads in detail.

This answer is restricted. Please login to view the answer of this question.

Login Now
Threads are sometimes called lightweight processes because they have their own stack but can access shared data. Because threads share the same address space as the process and other threads within the process, the operational cost of communication between the threads is low, which is an advantage.

User – Level Threads

The user-level threads are implemented by users and the kernel is not aware of the existence of these threads. It handles them as if they were single-threaded processes. User-level threads are small and much faster than kernel level threads. They are represented by a program counter(PC), stack, registers and a small process control block. Also, there is no kernel involvement in synchronization for user-level threads.

Advantages of User-Level Threads

Some of the advantages of user-level threads are as follows −

  • User-level threads are easier and faster to create than kernel-level threads. They can also be more easily managed.
  • User-level threads can be run on any operating system.
  • There are no kernel mode privileges required for thread switching in user-level threads.

Disadvantages of User-Level Threads

Some of the disadvantages of user-level threads are as follows −

  • Multithreaded applications in user-level threads cannot use multiprocessing to their advantage.
  • The entire process is blocked if one user-level thread performs blocking operation.
If you found any type of error on the answer then please mention on the comment or report an answer or submit your new answer.
Leave your Answer:

Click here to submit your answer.

  Loading . . .