我正在开发一个准系统,我需要在启动后的某个时间确定启用了多少内核和线程,以便我可以向它们发送 SIPI 事件。我还希望每个线程都知道它是哪个线程。
例如,在启用了 HT 的单核配置中,我们有(例如,Intel Atom):
thread 0 --> core 0 thread 0
thread 1 --> core 0 thread 1
在没有 HT 的双核配置中(例如,Core 2 Duo):
thread 0 --> core 0 thread 0
thread 1 --> core 1 thread 0
确定这一点的最佳方法是什么?
编辑: 我发现每个线程如何找到它是哪个线程。我还没有找到如何确定有多少核心。