Only one user thread can access the kernel at a time
Anonymous Quiz
79%
Many-to-One Model
17%
One-to-One Model
4%
Many-to-Many Model
The server creates a thread for each request
Anonymous Quiz
29%
Implicit Threading
71%
Explicit Threading
The thread is discarded once it has completed its work
Anonymous Quiz
23%
Implicit Threading
77%
Explicit Threading
Helps developing modern applications with hundreds of threads
Anonymous Quiz
76%
Implicit Threading
24%
Explicit Threading
Programmers identify tasks that can run in parallel
Anonymous Quiz
91%
Implicit Threading
9%
Explicit Threading
The programmer writes a task as a function
Anonymous Quiz
91%
Implicit Threading
9%
Explicit Threading
Too many threads that work concurrently can exhaust system resources
Anonymous Quiz
27%
Implicit Threading
73%
Explicit Threading
In explicit threading The number of threads that can be created has no upper bound.
Anonymous Quiz
88%
T
12%
F
Run-time libraries (not programmers) create and manage threads
Anonymous Quiz
85%
Implicit Threading
15%
Explicit Threading
works well for tasks that are synchronous (cooperating).
Anonymous Quiz
20%
Thread pool
80%
Fork-join
in implicit threading Each task is mapped to a separate thread using the many-to-many model
Anonymous Quiz
90%
T
10%
F
At startup, the server creates a set of threads in a pool
Anonymous Quiz
94%
Thread pool
6%
Fork-Join
Create one or more child threads. then Wait for the created threads (children) to terminate. finally Join the threads, at which point it can retrieve and combine their results
Anonymous Quiz
16%
Thread pool
84%
Fork-Join
When the server receives a request, it submits it to the pool
Anonymous Quiz
91%
Thread pool
9%
Fork-Join
in Thread pool If the pool is empty, the task is queued until a thread becomes free
Anonymous Quiz
86%
T
14%
F
in Thread pool Once a thread completes serving the request, it returns to the pool.
Anonymous Quiz
92%
T
8%
F
…. can adjust the number of threads in the pool.
Anonymous Quiz
15%
sequential thread pool
85%
dynamic thread pool