看板 LinuxDev 關於我們 聯絡資訊
大家好 最近剛接觸到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)
mayasky:THREAD是為了效能演化出來的..除了效能沒啥不同 10/17 03:21
mayasky:一個正常的程式不應該會因為用thread實作而結果不同 10/17 03:21
Spig:請去讀作業系統恐龍本,裡面的說明很完整 10/17 09:52
james732:你要知道什麼叫做「分時多工」 10/17 12:01
richliu:你要先搞清楚 CPU 的 HyperThread 和 OS 的 Thread 是什麼 10/17 16:54
kaioukilu:推樓上richliu大說得,我覺得你把兩種稿混了 10/17 21:44