[Windows编程] 获取系统CPU 个数

随着多核CPU的普及, 程序中有必要考虑利用多核的优势来提高性能。 比如当创建线程池或者进程池的时候,可以根据系统CPU的个数来设定线程池/进程池的大小。
以下代码示例如何获取CPU的个数。
view plaincopy to clipboardprint?
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);   
DWORD GetNumberOfProcessors()   
{   
    SYSTEM_INFO si;   
  
    // Call GetNativeSystemInfo if supported or GetSystemInfo otherwise.   
    PGNSI pfnGNSI = (PGNSI) GetProcAddress(GetModuleHandle(_T("kernel32.dll")), "GetNativeSystemInfo");   
    if(pfnGNSI)   
    {   
        pfnGNSI(&si);   
    }   
    else    
    {   
        GetSystemInfo(&si);   
    }   
    return si.dwNumberOfProcessors;   
}


 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/274029,如需转载请自行联系原作者

上一篇:如何远程连接局域网内的sql server


下一篇:阿里云函数计算发送短信单文件轻量版