User-Level Thread (ULT)

User-Level Threads In a pure ULT facility, all of the work of thread management is done by the application. The kernel is not aware of the existence of threads.

Advantages of ULT

  • Less switching overhead (save 2 mode switches)
  • Scheduling is app specific
  • ULT can run on any OS (no changes to underlying kernel)


  • In a typical OS, many system calls are blocking. As a result, when a ULT executes a system call, not only is that thread blocked, but all of the threads within the process are blocked as well.
  • A multithreaded application cannot take advantage of multiprocessing in ULT