作者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)
1F:→ mayasky:THREAD是为了效能演化出来的..除了效能没啥不同 10/17 03:21
2F:→ mayasky:一个正常的程式不应该会因为用thread实作而结果不同 10/17 03:21
3F:→ Spig:请去读作业系统恐龙本,里面的说明很完整 10/17 09:52
4F:→ james732:你要知道什麽叫做「分时多工」 10/17 12:01
5F:→ richliu:你要先搞清楚 CPU 的 HyperThread 和 OS 的 Thread 是什麽 10/17 16:54
6F:推 kaioukilu:推楼上richliu大说得,我觉得你把两种稿混了 10/17 21:44