# Multithreading Models
## Many-to-one
* 多個 user-level thread 對應到一個 kernel thread
* 一個 thread 被 block 會使全部被 block
* 不能平行化
* 最終只有一個 thread 在 kernel 中

## One-to-One
* 一個 user-level thread 對應到一個 kernel thread
* More concurrency than many-to-one
* 因為 kernel thread 數量太多會有 overhead,因此會限制 thread 的數量

## Many-to-Many
* 多個 user-level thread 對應到多個 kernel thread
* 結合了 M:O 和 O:O 的優點
* 允許 OS 建立足夠的(小於等於 user-level thread 數量) kernel thread

## Two-level
* 類似 M:M 但允許一個 user thread 對應到一個 kernel thread
---
##### last edit
> [name=dot] [time=Wed, Jan 22, 2020 1:56 PM]
[HOME PAGE](/bKDZoNkrT9SOBnTvY_aj2Q?both) :running:
{%hackmd theme-dark %}
###### tags: `OS` `CSIE`