ProcessThread クラス
オペレーティング システムのプロセス スレッドを表します。
名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文
'宣言
Public Class ProcessThread
Inherits Component
'使用
Dim instance As ProcessThread
public class ProcessThread : Component
public ref class ProcessThread : public Component
public class ProcessThread extends Component
public class ProcessThread extends Component
解説
ProcessThread を使用して、現在システムで実行されているスレッドに関する情報を取得します。これによって、たとえば、スレッドのパフォーマンス特性を監視できます。
スレッドとは、プログラムを使用する実行のパスです。Win32 によるスケジュールが最小実行単位です。スタック、CPU レジスタの状態、およびシステム スケジューラの実行リストのエントリで構成されます。
プロセスは、1 つ以上のスレッドとメモリ上のコード、データ、およびプログラムのその他のリソースで構成されます。一般的なプログラム リソースには、開かれたファイル、セマフォ、動的に割り当てられるメモリがあります。プロセスの各リソースは、そのプロセスのすべてのスレッドで共有されます。
プログラムは、システム スケジューラがそのプログラムのいずれかのスレッドに実行制御を渡したときに実行されます。スケジューラは、どのスレッドをいつ実行するかを決定します。優先順位の低いスレッドは、優先順位の高いスレッドのタスクが完了するまでは待機します。マルチプロセッサのコンピュータでは、スケジューラはスレッドを個別に異なるプロセッサに移動し、CPU 負荷を分散できます。
各プロセスは単一スレッドで起動します。このスレッドが、プロセスのプライマリ スレッドです。どのスレッドでも追加のスレッドを作成できます。プロセス内のすべてのスレッドが、そのプロセスのアドレス空間を共有します。
注意
プライマリ スレッドは、必ずしもコレクションの最初のインデックスに配置する必要はありません。
プロセスのスレッドは個別に実行されます。相互に可視になるように設定した場合を除き、他のスレッドの影響を受けません。しかし、共通リソースを共有するスレッドは、セマフォまたはその他のプロセス間通信の手段を使用して、動作を調整する必要があります。
現在のプロセスに関連付けられたすべての ProcessThread オブジェクトのコレクションを取得するには、Process インスタンスの Threads プロパティを取得します。
継承階層
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Diagnostics.ProcessThread
スレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
ProcessThread メンバ
System.Diagnostics 名前空間
Process クラス
Process.Threads プロパティ