มีข้อมูลหลายอย่างที่เกี่ยวข้องกับโปรเซสเซอร์ที่เราสามารถรับได้
- จำนวนตัวประมวลผลจริง
- จำนวนคอร์
- จำนวนตัวประมวลผลเชิงตรรกะ
สิ่งเหล่านี้อาจแตกต่างกัน ในกรณีของเครื่องที่มีตัวประมวลผลแบบไฮเปอร์เธรดดิ้งแบบดูอัลคอร์ 2 คอร์ จะมีตัวประมวลผลจริง 2 ตัว, 4 คอร์ และตัวประมวลผลเชิงตรรกะ 8 ตัว
จำนวนของตัวประมวลผลแบบลอจิคัลมีอยู่ในคลาส Environment แต่ข้อมูลอื่นๆ จะพร้อมใช้งานผ่าน WMI เท่านั้น (และคุณอาจต้องติดตั้งโปรแกรมแก้ไขด่วนหรือเซอร์วิสแพ็คเพื่อรับมันในบางระบบ) -
เพิ่มข้อมูลอ้างอิงในโครงการของคุณไปที่ System.Management.dll ใน .NET Core มีให้ใช้งาน (สำหรับ Windows เท่านั้น) เป็นแพ็คเกจ NuGet
ตัวประมวลผลทางกายภาพ
ตัวอย่าง
class Program{
public static void Main(){
foreach (var item in new
System.Management.ManagementObjectSearcher("Select * from
Win32_ComputerSystem").Get()){
Console.WriteLine("Number Of Physical Processors: {0} ",
item["NumberOfProcessors"]);
}
Console.ReadLine();
}
} ผลลัพธ์
Number Of Physical Processors: 1
คอร์
class Program{
public static void Main(){
int coreCount = 0;
foreach (var item in new
System.Management.ManagementObjectSearcher("Select * from
Win32_Processor").Get()){
coreCount += int.Parse(item["NumberOfCores"].ToString());
}
Console.WriteLine("Number Of Cores: {0}", coreCount);
Console.ReadLine();
}
} ผลลัพธ์
Number Of Cores: 2
ตัวประมวลผลเชิงตรรกะ
class Program{
public static void Main(){
Console.WriteLine("Number Of Logical Processors: {0}",
Environment.ProcessorCount);
Console.ReadLine();
}
} ผลลัพธ์
Number Of Logical Processors: 4