怎么让程序只能使用CPU的一个核心

policelorl 2012-01-23 10:57:00
我想看程序在单核单线程的CPU下运行的结果,但是我并不想专门去买个单核CPU,有什么办法可以让程序只使用一核一线程?
...全文
1215 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
MagiSu 2012-01-24
  • 打赏
  • 举报
回复
你就设置一个线程试试。
ghost5216 2012-01-24
  • 打赏
  • 举报
回复
4楼正解
yiyefangzhou24 2012-01-24
  • 打赏
  • 举报
回复
这个不是你用户态程序可以决定的事情,一般理论上一个核只能处理一个线程,但是是系统内部使用一定的调度算法进行CPU调度的,用户态的程序只负责实行相应的功能。
mLee79 2012-01-24
  • 打赏
  • 举报
回复
对了,我们拨号上网也不容易,到时候多给点分。
mLee79 2012-01-24
  • 打赏
  • 举报
回复
设置线程亲和性就可以了, 不同的系统有不同的API, M$Win下你就 SetThreadAffinityMask , *nix 下你就pthread_setaffinity_np 。
Lactoferrin 2012-01-24
  • 打赏
  • 举报
回复
超线程技术也会显示成两个cpu
policelorl 2012-01-24
  • 打赏
  • 举报
回复
其实我也想到SetThreadAffinityMask
但是Intel的处理器带有超线程技术,没法在单线程下运行
s_hhm 2012-01-23
  • 打赏
  • 举报
回复
这个想在程序中控制有难度吧。个人认为程序执行后,它有那个CPU内核去执行是有系统管理的。也许可以,但我还没发现这样的。等答案!
mymtom 2012-01-23
  • 打赏
  • 举报
回复
打开任务管理器->选择进程标签->右键单击进程->选择关系设置->在处理器关系里选择允许执行该进程的CPU

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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