มีข้อมูลหลายอย่างที่เกี่ยวข้องกับโปรเซสเซอร์ที่เราสามารถรับได้
- จำนวนตัวประมวลผลจริง
- จำนวนคอร์
- จำนวนตัวประมวลผลเชิงตรรกะ
สิ่งเหล่านี้อาจแตกต่างกัน ในกรณีของเครื่องที่มีตัวประมวลผลแบบไฮเปอร์เธรดดิ้งแบบดูอัลคอร์ 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