【C#】CPUのコア数を取得する方法
関連記事
【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
最近は,弊社リリースのアプリ,マルチスレッドを無意味に多用してたりして?
理想は,コア数と同じ処理スレッド数にするのが,一番効率いいはず
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個を返してきましたです 🙂
コメント
【#桜】国富:大坪の一本桜を見物に行った!咲いてなかったドロドロドロ(25/3/22)
3月下旬なのに鰐塚山が雪を被ってる.これはヤバス(25/3/19)
JR日豊線・仙巌園駅3月15日開業 周辺含む総整備費は12億円、開業合わせ磯ビーチハウスにカフェオープン
【#確定申告】税務がオワタ!所得税&消費税申告書を提出した!財務省の役人どもはこの恨み,祝ってやるドロドロドロ
【#火事】都農町のキャンプ場近くで山林火災 現在も消火活動中(27日午後6時15分現在)
宮崎ー台湾 国際定期便が週2往復に増便へ 来月30日から(25/2/15)
『にっぽん縦断 こころ旅』4月から田中美佐子が新たな旅人に 火野正平さんが14年間担当
オリックス・バファローズのキャンプ見学に行ってきた,昨日(爆(25/2/9)