[All]
アプリケーションのプロセッサ関係を設定する
By: Chikako Yonezawa
Abstract: マルチプロセッサマシン上で、どのプロセッサでアプリケーションを動作させるかをコントロールする方法について説明します。
Q:
マルチプロセッサマシンで、1つのプロセッサだけ使用して動作するようなアプリケーションを作成する方法はありますか ?
A:
はい。ここにプロセッサ関係を設定できる2つの方法があります。
1つは、アプリケーションが動作している間、タスクマネージャーを起動し、「プロセス」タブをクリックします。表示されたプロセスの一覧の中の目的のプロセス上で、マウスの右ボタンをクリックし、「関係の設定」を選択します。プロセッサの関係のダイアログが表示されますので、CPU0またはCPU1のいずれかのチェックを外します。
もう1つは、プログラムコードで指定する方法です。以下は、プロセッサ関係の設定と取得についての例です。
procedure TForm1.Button1Click(Sender: TObject);
var
vHandle : Cardinal;
vMaskProcess, vMaskSystem : cardinal;
begin
vHandle := Form1.Handle;
SetProcessAffinityMask(vHandle, 0);
GetProcessAffinityMask(vHandle, vMaskProcess, vMaskSystem);
showmessage(inttostr(vMaskProcess));
showmessage(inttostr(vMaskSystem));
end;
Connect with Us