Multiple user threads multiplex to same or lesser number of kernel level threads. Number of kernel level threads are specific to the machine, advantage of this model is if a user thread is blocked we can schedule others user thread to other kernel thread. Thus, System doesn’t block if a particular thread is blocked.
It is the best multi threading model.
Used In Solaris 9
Many to many multi threading models does not restrict the number of user thread created.
Neither the process block if a thread makes a blocking system call. As the kernel can schedule other thread for execution.
In this model, we have multiple user threads mapped to one kernel thread. In this model when a user thread makes a blocking system call entire process blocks. As we have only one kernel thread and only one user thread can access kernel at a time, so multiple threads are not able access multiprocessor at the same time.
The thread management is done on the user level so it is more efficient.
Implemented In Green threads library in Solaris Operating System
Only single Thread can have access to the operating system.