A case where such model becomes handy for a specific application is by using multiprocessor system where threads belonging to an application can be assigned to different kernel threads. Here concurrency gained is not high. User has no restriction of creating amount of threads.
Two level models follows exactly same pattern with an addition that it bounds user threads to a specific kernel thread, this model is supported in IRIX, HP-UX, and Tru64 UNIX (Silberschatz, Galvin, Gagne, p.131). Many-one mapping is used when many user level threads are mapped to one kernel thread this is managed by thread library of the system and is an efficient mechanism but the entire process will block if a single threads makes a blocking call. The thread libraries that are normally used are Pthreads (POSIX threads), Win32 Threads and Java Threads.
Use of thread library and multithreaded models introduce in application responsiveness allowing programmers to make them more interactive for instance a multithreaded webpage allows user to still view the page while it makes connection to the database. All the threads belonging to a process share its resources and thus achieve economy in terms of resource utilization. They are best when use with multiprocessors.
The benefit of multithreading can be greatly increased in a processor architecture, where threads may be running in parallel on different processors. A single threaded process can only run on one CPU, no matter how many are available. Multithreading on multi-CPU machine increases concurrency (p.129).
These are just excerpts of essays please access the order form for custom essays, research papers, term papers, thesis, dissertations, book reports and case studies.