Java native方法availableProcessors()获取处理器数量的底层C++实现
生活随笔
收集整理的这篇文章主要介绍了
Java native方法availableProcessors()获取处理器数量的底层C++实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
夫陶公清风千古,余又何人,敢称庶几
个人博客地址:http://blog.breez.work
📖别扯没用的、看代码
运行下面代码就这样子,代码有些少,尴尬😅:
📝源码分析
public native int availableProcessors();进去一看,原来是个本地方法,传说native方法都是用C++实现的,我忍不住卷土重来,再写C++,不过,用C也是阔以的,哈哈😄!(C++菜的抠jio)
先生们,奥特曼!请看C++ SYSTEM_INFO结构体,它阔以获取当前计算机系统的信息。包括处理器的架构和类型、系统中的处理器数量、页面大小和其他此类信息。
typedef struct _SYSTEM_INFO {union {DWORD dwOemId;struct {WORD wProcessorArchitecture;WORD wReserved;} DUMMYSTRUCTNAME;} DUMMYUNIONNAME;DWORD dwPageSize;LPVOID lpMinimumApplicationAddress;LPVOID lpMaximumApplicationAddress;DWORD_PTR dwActiveProcessorMask;DWORD dwNumberOfProcessors;DWORD dwProcessorType;DWORD dwAllocationGranularity;WORD wProcessorLevel;WORD wProcessorRevision; } SYSTEM_INFO, *LPSYSTEM_INFO;在这里我只说下:DWORD dwNumberOfProcessors;这个东西用法,它的作用是获取当前系统逻辑处理器数量。
听我口令:上代码!
#include "windows.h" #include "unistd.h" #include<stdio.h> int main() {SYSTEM_INFO sysInfo;GetSystemInfo(&sysInfo);int cpuCore = sysInfo.dwNumberOfProcessors;printf("%d 核\n",cpuCore) ;return 0;}
挺起来好像很牛逼的样子,其实啥也不是,菜鸟!!
想了解更多有关这方面的衰哥可以移步微软官方去看文档
青山不改,绿水长流,他日江湖相见,我必刺🗡各位一刀。告辞!
总结
以上是生活随笔为你收集整理的Java native方法availableProcessors()获取处理器数量的底层C++实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: bootstrap table 搜索列f
- 下一篇: MVC与MVVM的区别