返回运行当前线程的cpu核

old_man 2010-03-09 08:27:52
有这样的win api 或者omp库函数么? 或者别的任何方法都可以,谢谢~!!!
...全文
127 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
old_man 2010-03-09
  • 打赏
  • 举报
回复
当然。由于我的系统是XP,如果是vista 或是2003的话 可以直接用这个:GetCurrentProcessorNumber()
old_man 2010-03-09
  • 打赏
  • 举报
回复
自己搜到了:


//
// GetCurrentProcessorNumber.cpp
//
// an XP version of GetCurrentProcessorNumber()
//
// 14/11/07 first version
//

#include "stdafx.h"

#define NTHREADS 8

//
// GetCurrentProcessorNumberXP
//

DWORD GetCurrentProcessorNumberXP(void)
{
_asm {mov eax, 1}
_asm {cpuid}
_asm {shr ebx, 24}
_asm {mov eax, ebx}
}

//
// thread procedure
//
DWORD WINAPI threadProc(LPVOID p)
{
printf("thread %d:\tlogical CPU %d\n", (int) p, GetCurrentProcessorNumberXP());

clock_t t = clock() + 100; // consume 100ms ...
while (clock() < t) // of CPU time

return 0;
}

//
// _tmain
//
int _tmain(int argc, _TCHAR* argv[])
{
for (int i = 0; i < NTHREADS; i++)
CreateThread(NULL, 0, threadProc, (LPVOID) i, 0, NULL);

_getch(); // stop console window disappearing prematurely
return 0;

}

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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