[問題] Thread觀念問題

看板LinuxDev作者 (kobe)時間15年前 (2010/10/17 01:10), 編輯推噓1(105)
留言6則, 5人參與, 最新討論串1/1
大家好 最近剛接觸到pthread 小弟有一些觀念無法釐清 所以上來請問各位大大 首先是thread和CPU間的關係, 假如我現在的CPU雙核而每個核心最多支援兩個執行緒, 一開始我天真的認為,我可以create的thread就是2*2 = 4(thread), 後來我實際嘗試結果,發現可以create超過4個thread, 我唯一想到的答案就是其他thread可能是模擬出來的?? <---是否還有別的解釋或者 我的想法是錯 再者 1.使用一個核心(支援單執行緒)create 6個執行緒 2.使用六個核心(支援單執行緒)create 6個執行緒,每個執行緒對應一個核心 第一個問題 1.和2.的6個執行緒同時做相同的運算,則有何不同?(效能之外) 第二個問題 1.和2.的6個執行緒分擔一個運算,則有何不同?(效能之外) PS:我是在Fedora下開發 2.6.34 kernel 感謝... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.87.130 ※ 編輯: kobe2006 來自: 118.171.87.130 (10/17 01:21) ※ 編輯: kobe2006 來自: 118.171.87.130 (10/17 02:10)

10/17 03:21, , 1F
THREAD是為了效能演化出來的..除了效能沒啥不同
10/17 03:21, 1F

10/17 03:21, , 2F
一個正常的程式不應該會因為用thread實作而結果不同
10/17 03:21, 2F

10/17 09:52, , 3F
請去讀作業系統恐龍本,裡面的說明很完整
10/17 09:52, 3F

10/17 12:01, , 4F
你要知道什麼叫做「分時多工」
10/17 12:01, 4F

10/17 16:54, , 5F
你要先搞清楚 CPU 的 HyperThread 和 OS 的 Thread 是什麼
10/17 16:54, 5F

10/17 21:44, , 6F
推樓上richliu大說得,我覺得你把兩種稿混了
10/17 21:44, 6F
文章代碼(AID): #1CkToF7f (LinuxDev)
文章代碼(AID): #1CkToF7f (LinuxDev)