作者kobe2006 (kobe)
看板LinuxDev
標題[問題] Thread觀念問題
時間Sun Oct 17 01:10:37 2010
大家好
最近剛接觸到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