【C#】CPUのコア数を取得する方法
関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
最近は,弊社リリースのアプリ,マルチスレッドを無意味に多用してたりして?
理想は,コア数と同じ処理スレッド数にするのが,一番効率いいはず
C#なんで,VM関連のバック処理で何本もスレッドが立ち上がってはおるが
んじゃぁ~ってことで,コア数を取ってくる方法を...
と探してみて,行き着いたのが,こちら
マネージドコードでCPUのコア数を知りたい @ MSDNフォーラム
ところが,これ,どうもXPだとちゃんとした値が取れないみたい...
途方にくれて,Win32情報関連辺りを,うろうろさまよっていたら...
Calling API functions using C# @ The Code Project
こちらのページに行き着いて
なんのことはない,Win32の GetSystemInfo() を叩けばいいらしい
SYSTEM_INFO構造体を受け取って
dwNumberOfProcessorsメンバーにコア数が入っているとのこと
ってことで,C#でちょろっと書いてみた
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace CpuCoreCount { public partial class Form1 : Form { [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO ptmpsi); [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { SYSTEM_INFO sysInfo = new SYSTEM_INFO(); GetSystemInfo(ref sysInfo); label1.Text = sysInfo.dwNumberOfProcessors.ToString(); } } }うちのクアッド様@Q6600は,ちゃんと4個
テストサーバのPentium Dualは,2個を返してきましたです 🙂
コメント
【訃報】俳優 火野正平さん死去 75歳
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ
今日は謎の宴会らしい...スーツが入るのかっ!?(GRB爆
「侍ジャパン」宮崎県入り 「プレミア12」向け きょうから合宿
【#総選挙】 衆議院選挙 きょう投票 ...ドロドロドロ(24/10/27)
【#線状降水帯】宮崎 延岡「土砂崩れで家がつぶれている」通報 1人不明(24/10/23)
【冬】お~日本海に筋雲が出ちょる!冬がキター
【#寒冷前線】13時頃30℃の気温が今は25℃無いぞー