下你所需,载你所想!
汇集开发技术源码资料

获取CPU是几核心几线程

:5.655KB :1 :2022-07-25 14:32:11

部分简介

在程序中利用多线程来做事可以提高效率,但不是线程数越多越好,不是无脑开100或者1000个线程,如果你真这么做了,反而效率特别低,因为CPU切换线程上下文的代价比较大。

以我电脑为例,我的CPU是8核16线程,那我程序中开的线程数最好是16个线程。
这里教大家一个在软件界大家都比较认同的一个线程数的方法,就是如果你的线程是计算密集型,那你的线程数一般是CPU的线程数,比如我的CPU是8核16线程,最好在程序中开16个线程,如果是IO密集型,那建议开CPU线程数的2倍个线程数,比如我的CPU是8核16线程,那16×2=32,那我最好开32个线程就行了,再多就不好了。

那如何获取当前电脑是几核心几线程呢?就是利用GetLogicalProcessorInformation这个API来获取,然后使用SYSTEM_LOGICAL_PROCESSOR_INFORMATION这个结构体的信息来获取,不过微软官方给的源码是C++的源码,在下不才,稍微懂点C语言,所以把这个C++代码翻译成了易语言的代码,代码全开源,方便帮助大家更好地写多线程。

获取CPU是几核心几线程

热门推荐

相关文章