线程程序如何将指定线程绑定到指定的CPU上运行

fanzouguo 2010-12-25 08:27:27
如题,我想知道怎么将一个线程指定到多核CPU的具体某一核上运行。
网上搜了很多资料,大多是C++或VC的,.NET下的只找到一个:
Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)4;
但是对其意义不是很了解,而且好像这个方法是指定进程,而不是线程的。
在此请教一下各位,谢谢。
...全文
586 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanzouguo 2010-12-25
  • 打赏
  • 举报
回复
谢谢如梦,但是我不明白,ProcessorAffinity 是不是只能对进程指定CPU呢,我是想对线程进行绑定。
wuyq11 2010-12-25
  • 打赏
  • 举报
回复
C++程序可以使用WinAPI里的SetThreadAffinityMast()函数,将程序固定到某个特定的CPU上执行。
通过Process类的ProcessorAffinity属性就可以达到绑定CPU的目的
System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess();
p.ProcessorAffinity = (IntPtr)0x0001;
http://msdn.microsoft.com/zh-tw/library/system.diagnostics.process.processoraffinity(VS.80).aspx

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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