###### tags: `database` # 伺服器與執行緒 ## Thread or Process 伺服器管理的最小可執行單元可能為 thread 或 process,各有優缺,考量兩者的差異: * Open files, heap mem * Process 內至少一個 thread 通常使用 Thread,這是因為管理 global/share resource (open file, heap mem) 交由 DBMS 來處理較方便、高效,且 thread 的建置較 Process 快。 ## Kernel & user thread Thread mapping 模型的選擇 * 多對一 * 簡單 * 一個 blocking system call 就大家一起等 * 一對一 * 無 blocking problem * 建置 User thread 可能成本高 * 可善用 thread pool 解決每次 user thread 請求就建 kernel thread 的必要 * 當今個人電腦的 OS 常用 * 多對多 * 善用 kernel thread 資源 * Mapping 複雜 * 當今大型電腦 OS 可能會用 * 負荷過大時效率可能會降級至一對一 (加上 mapping 會更慘)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up