英特尔CPU,逻辑处理器,核心,
我的CPU是i76700hq,现实有4核,8个逻辑处理器
我想请教下怎么判断1-8个逻辑处理器对应的是哪个核心。
一个核心模拟出两个逻辑处理器,那么1-2逻辑处理器对应的是CPU的第一个核心吗?
问题解释:为什么会有这样的问题
在用c语言编写多线程程序的时候,有个想法,想通过编写程序实现使用不同的逻辑处理器来处理多任务,进而又想到了可以针对调用指定的核心来写程序吗?
例如用不同的核心跑不同的任务,1核跑磁盘读写,一核跑网络,这样针对性的使用CPU。
英特尔CPU,逻辑处理器,核心,
我的CPU是i76700hq,现实有4核,8个逻辑处理器
我想请教下怎么判断1-8个逻辑处理器对应的是哪个核心。
一个核心模拟出两个逻辑处理器,那么1-2逻辑处理器对应的是CPU的第一个核心吗?
问题解释:为什么会有这样的问题
在用c语言编写多线程程序的时候,有个想法,想通过编写程序实现使用不同的逻辑处理器来处理多任务,进而又想到了可以针对调用指定的核心来写程序吗?
例如用不同的核心跑不同的任务,1核跑磁盘读写,一核跑网络,这样针对性的使用CPU。
让线程在指定CPU上运行,叫着Thread Affinity,这个需要调用操作系统相关的API来实现。
你可以看看下面的文章。
https://eli.thegreenplace.net/2016/c11-threads-affinity-and-hyperthreading/