Db2

EDU和執行緒的區別

  • September 17, 2019

在 DB2 中,有一個顯示活動 EDU(引擎可調度單元)的命令:

db2pd  -edus

各自的輸出中有兩個欄位:EDU IDTID

根據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)。

引用自:https://dba.stackexchange.com/questions/248775