Db2
EDU和執行緒的區別
在 DB2 中,有一個顯示活動 EDU(引擎可調度單元)的命令:
db2pd -edus
各自的輸出中有兩個欄位:
EDU ID
和TID
。根據DB2 知識中心的這個 db2pd 頁面,每個定義如下:
**EDU ID:**引擎可調度單元 (EDU) 的唯一標識符。除了 Linux 作業系統,EDU ID 映射到執行緒 ID。在 Linux 作業系統上,EDU ID 是 DB2 生成的唯一標識符
TID:執行緒標識符。除了 Linux 作業系統,執行緒 ID 是特定執行緒的唯一標識符。在 Linux 作業系統上,這是 DB2 生成的唯一標識符
我想知道什麼是 Linux/Unix 作業系統上的 EDU 或執行緒?他們是一樣的嗎?有什麼不同?
EDU 是對底層作業系統調度單元的抽象,一種分配給作業系統中實際工作的代理鍵。如果作業系統有真正的執行緒,不同於程序,例如 Windows,EDU 將映射到一個執行緒。在沒有執行緒而是輕量級程序 (LWP) 的現代 Linux 上,EDU 將映射到此類 LWP 之一,並且執行緒 ID 值將是人為的。
在某些作業系統上,以單獨管理的使用者和核心執行緒的形式存在額外的抽象級別;在這種情況下,除了使用者 TID 之外,EDU 還將映射到不同的核心執行緒 ID (KTID)。