Re: thread (執行緒) definition??

看板CSSE (電腦科學及軟體工程)作者 (讀者)時間19年前 (2006/01/23 16:51), 編輯推噓2(202)
留言4則, 1人參與, 最新討論串11/20 (看更多)
※ 引述《ashkenazy (有中出無懦夫)》之銘言: : 放下無謂的爭擾,我也從來沒有質疑過教科書的說法 : 第一篇回文時也把教科書的說法與實作列出來,這也是因為我尊重教科書的說法 : 只是剛好原po問「一個程式如何區分出thread」 : 我就回答「Linux並沒有區分所謂的process或thread」 : 現在回來看這個答案,還算中肯吧? 囧rz 這樣的回答是陳述了一部分事實,卻更容易讓人誤解。 就多數作業系統的核心實作而言, process 就是一種 kernel thread. 特別去區分 thread 和 process 的差異是多此一舉。 但我們一般所講的 thread 主要是指 user thread, 就是一個 process 裡有好幾個 thread 的狀況。在作業系統核心不直接提供 user thread 的狀況下,於是就有了 pthread 程式庫來分擔此一需求。 pthread 的 'p' 就是 pseudo 的意思,一般實作是在呼叫 I/O 函式或有系統插斷時 切換到其他 user thread 繼續執行。我沒有閱讀原始碼,詳細的情況還得由其他人 補充。 Thread Library 是 POSIX 標準的一部分,所以也是作業系統的一部分,有 pthread library 就表示作業系統有 user thread, 只是不經由系統核心提供,而是透過系統 程式庫來提供。 這個 thread 議題講下去,還有硬體層級的 thread, 又和作業系統的 kernel thread 不同了。 這個字已經衍生出好些不同的意思了,不過就原題而言,應該是指 user thread. 用 kernel thread 來回答不能說很中肯喔。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.0.145

01/23 18:13, , 1F
感謝reader大說明 不過小弟pthread不熟 有點問題
01/23 18:13, 1F

01/23 18:14, , 2F
您指的user thread就是pthread lib的嗎?
01/23 18:14, 2F

01/23 18:23, , 3F
linux中的user thread與kernel thread都是所謂的process
01/23 18:23, 3F

01/23 18:23, , 4F
所以不知是否我們所討論的user thread是不同的東西?
01/23 18:23, 4F
文章代碼(AID): #13r9aTbP (CSSE)
討論串 (同標題文章)
文章代碼(AID): #13r9aTbP (CSSE)