一个进程中的多个线程可以在多核处理器上的 不同核上运行吗?

lostangels 2008-11-13 05:23:26
一个进程中的多个线程可以在多核处理器上的 不同核上运行吗?
...全文
2402 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cashmany 2009-03-26
  • 打赏
  • 举报
回复
线程应该是一个并发的概念,不是并行的概念吧,并发是指每一时刻仅有一个线程投入运行,并行就不同了每一刻都有N多的线程在同时运行,共享系统资源,如果线程可以在多处理器上运行的话那就是并行了,如果是这样的话,应该是硬件CPU的研制跟不上软件的发展才对(多加线程提升软件的性能),但事实并非如此,
hityct1 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jackzhhuang 的回复:]
可以

晕倒,多核软件??系统软件可能说得过去,但如果多核应用软件的设计和单核不一样的话,甚至不兼容的话,那这个多核技术是失败的!

个人看法,拍砖无视。
[/Quote]
支持。
nodiebirdcomeback 2008-11-20
  • 打赏
  • 举报
回复
可以是可以,但是一个进程的所有线程序未必会在同一个CPU运行
这个得看操作系统的支持和调度算法,这得看操作系统怎么管理
CPU资源,运行在操作系统上的进程 不止一个,每个进程的线程
也可能多个。所以操作系统对于是 把同一进程的线程分配到不同
的CPU,还是在同一个CPU上使用 轮训和调度权限改变来调度,这
一切都是由操作系统的调度算法决定的。
Edward 2008-11-20
  • 打赏
  • 举报
回复
默认情况下是可以的,但是可以用SetProcessAffinityMask、SetThreadAffinityMask来修改。

不过。。。偶只知道有这些API,从来没有试过,微软文档也建议不要试着修改Affinity。
nodiebirdcomeback 2008-11-19
  • 打赏
  • 举报
回复
未必,得看操作系统的支持和调度算法。
这得看操作系统怎么管理CPU资源,运行在操作系统上的进程
不止一个,每个进程的线程也可能多个。所以操作系统对于是
把同一进程的线程分配到不同的CPU,还是在同一个CPU上使用
轮训和调度权限改变来调度,这一切都是由操作系统的调度算法决定的。
teleinfor 2008-11-19
  • 打赏
  • 举报
回复
楼上的tx说的这个方法是指定CPU或者内核绑定的方法么?如果不知定多线程的绑定,那么是如何执行的呢?多线程会不会分配到多CPU或者多核上执行呢?
oradong2008 2008-11-19
  • 打赏
  • 举报
回复
可以的 使用SetThreadAffinityMask(hthread,number),其中number就是你想绑定线程到指定cpu的掩码例如number=1,即cpu 0,number=3,二进制0000 0011,表示cpu 0 cpu1
jackzhhuang 2008-11-19
  • 打赏
  • 举报
回复
可以

晕倒,多核软件??系统软件可能说得过去,但如果多核应用软件的设计和单核不一样的话,甚至不兼容的话,那这个多核技术是失败的!

个人看法,拍砖无视。
ahao 2008-11-19
  • 打赏
  • 举报
回复
楼上你懂编程?
winmenaruto 2008-11-19
  • 打赏
  • 举报
回复
好东西,但是如果这么简单就能利用多核的cpu,那为什么现在支持多核的软件、游戏少之又少,难道programer都不会用线程?
oradong2008 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 teleinfor 的回复:]
楼上的tx说的这个方法是指定CPU或者内核绑定的方法么?如果不知定多线程的绑定,那么是如何执行的呢?多线程会不会分配到多CPU或者多核上执行呢?
[/Quote]
我试过 可以的 我的操作系统是xp,不信的话可以试一试 打开管理器查看一下成没成功就行了
KeSummer 2008-11-15
  • 打赏
  • 举报
回复
可以,使用SetThreadAffinityMask将某个线程限制在某个CPU上执行。
在驱动里,你可以提高当前IRQL来霸占某个CPU。
strawer 2008-11-15
  • 打赏
  • 举报
回复
可以,单核的实际上每个线程运行一段时间后都会自动暂停然后下一个线程运行,由于速度快,你看不出是单个运行的。
evileagle 2008-11-13
  • 打赏
  • 举报
回复
负责任的告诉你,可以~~~

15,474

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧