ProcessThread ProcessThread ProcessThread ProcessThread Class

定義

オペレーティング システムのプロセス スレッドを表します。Represents an operating system process thread.

public ref class ProcessThread : System::ComponentModel::Component
public class ProcessThread : System.ComponentModel.Component
type ProcessThread = class
    inherit Component
Public Class ProcessThread
Inherits Component
継承

注釈

システムProcessThreadで現在実行中のスレッドに関する情報を取得するには、を使用します。Use ProcessThread to obtain information about a thread that is currently running on the system. これにより、たとえば、スレッドのパフォーマンス特性を監視できます。Doing so allows you, for example, to monitor the thread's performance characteristics.

重要

この型は IDisposable インターフェイスを実装します。This type implements the IDisposable interface. 型の使用が完了したら、直接的または間接的に型を破棄する必要があります。When you have finished using the type, you should dispose of it either directly or indirectly. 直接的に型を破棄するには、try / catch ブロック内で Dispose メソッドを呼び出します。To dispose of the type directly, call its Dispose method in a try/catch block. 間接的に型を破棄するには、using (C# の場合) または Using (Visual Basic 言語) などの言語構成要素を使用します。To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 詳細については、IDisposable インターフェイスに関するトピック内の「IDisposable を実装するオブジェクトの使用」セクションを参照してください。For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

スレッドは、プログラムによる実行のパスです。A thread is a path of execution through a program. これは、Win32 がスケジュールする最小の実行単位です。It is the smallest unit of execution that Win32 schedules. これは、スタック、CPU レジスタの状態、およびシステムスケジューラの実行リスト内のエントリで構成されます。It consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler.

プロセスは、1つまたは複数のスレッドと、メモリ内のプログラムのコード、データ、およびその他のリソースで構成されます。A process consists of one or more threads and the code, data, and other resources of a program in memory. 一般的なプログラムリソースは、開いているファイル、セマフォ、および動的に割り当てられたメモリです。Typical program resources are open files, semaphores, and dynamically allocated memory. プロセスの各リソースは、そのプロセスのすべてのスレッドによって共有されます。Each resource of a process is shared by all that process's threads.

プログラムは、システムスケジューラによって、プログラムのいずれかのスレッドに実行制御が与えられたときに実行されます。A program executes when the system scheduler gives execution control to one of the program's threads. スケジューラは、実行するスレッドとタイミングを決定します。The scheduler determines which threads should run and when. 優先順位の低いスレッドは、優先度の高いスレッドがタスクを完了するまで待機することがあります。A lower-priority thread might be forced to wait while higher-priority threads complete their tasks. マルチプロセッサコンピューターでは、スケジューラが個々のスレッドを異なるプロセッサに移動し、CPU 負荷を分散させることができます。On multiprocessor computers, the scheduler can move individual threads to different processors, thus balancing the CPU load.

各プロセスは、プライマリスレッドと呼ばれる1つのスレッドで開始されます。Each process starts with a single thread, which is known as the primary thread. どのスレッドでも新しいスレッドを作成できます。Any thread can create additional threads. プロセス内のすべてのスレッドは、そのプロセスのアドレス空間を共有します。All the threads within a process share the address space of that process.

プライマリスレッドは、必ずしもコレクション内の最初のインデックス位置にありません。The primary thread is not necessarily located at the first index in the collection.

注意

.NET Framework バージョン2.0 以降、.NET Framework の方法とプロパティの多くで、他のコンピューター上のパフォーマンスカウンターデータを参照できるようになりました。Starting with the .NET Framework version 2.0, the ability to reference performance counter data on other computers has been eliminated for many of the .NET Framework methods and properties. この変更は、パフォーマンスを向上させ、管理者以外の管理者ProcessThreadがクラスを使用できるようにするために行われました。This change was made to improve performance and to enable non-administrators to use the ProcessThread class. その結果、以前のバージョンの .NET Framework で例外を取得しなかった一部のアプリケーションは、をNotSupportedException取得できるようになりました。As a result, some applications that did not get exceptions in earlier versions of the .NET Framework may now get a NotSupportedException. 影響を受けるメソッドとプロパティは、この一覧には多すぎますが、影響を受けるメンバーのトピックには例外情報が追加されています。The methods and properties affected are too numerous to list here, but the exception information has been added to the affected member topics.

プロセスのスレッドは個別に実行され、互いに見えるようにしない限り、互いを認識しません。The threads of a process execute individually and are unaware of each other unless you make them visible to each other. ただし、共通のリソースを共有するスレッドでは、セマフォや、プロセス間通信の別の方法を使用して、作業を調整する必要があります。Threads that share common resources, however, must coordinate their work by using semaphores or another method of interprocess communication.

現在のプロセスに関連付けらProcessThreadれているすべてのオブジェクトのコレクションをThreads取得するにProcessは、インスタンスのプロパティを取得します。To get a collection of all the ProcessThread objects associated with the current process, get the Threads property of the Process instance.

プロパティ

BasePriority BasePriority BasePriority BasePriority

スレッドの基本優先順位を取得します。Gets the base priority of the thread.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

IContainer を格納している Component を取得します。Gets the IContainer that contains the Component.

(Inherited from Component)
CurrentPriority CurrentPriority CurrentPriority CurrentPriority

スレッドの現在の優先順位を取得します。Gets the current priority of the thread.

DesignMode DesignMode DesignMode DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Component に結び付けられているイベント ハンドラーのリストを取得します。Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Id Id Id Id

スレッドの一意な識別子を取得します。Gets the unique identifier of the thread.

IdealProcessor IdealProcessor IdealProcessor IdealProcessor

このスレッドを実行する優先プロセッサを設定します。Sets the preferred processor for this thread to run on.

PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled

スレッドのプロセスのメイン ウィンドウがフォーカスを受け取るたびに、関連付けられたスレッドの優先順位をオペレーティング システムが一時的に上げるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus.

PriorityLevel PriorityLevel PriorityLevel PriorityLevel

スレッドの優先順位を取得または設定します。Gets or sets the priority level of the thread.

PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime

スレッドが、オペレーティング システム コアでコードを実行した時間を取得します。Gets the amount of time that the thread has spent running code inside the operating system core.

ProcessorAffinity ProcessorAffinity ProcessorAffinity ProcessorAffinity

関連付けられたスレッドを実行できるプロセッサを設定します。Sets the processors on which the associated thread can run.

Site Site Site Site

ComponentISite を取得または設定します。Gets or sets the ISite of the Component.

(Inherited from Component)
StartAddress StartAddress StartAddress StartAddress

このスレッドを起動するときにオペレーティング システムが呼び出した関数のメモリ アドレスを取得します。Gets the memory address of the function that the operating system called that started this thread.

StartTime StartTime StartTime StartTime

オペレーティング システムによってスレッドを起動した時刻を取得します。Gets the time that the operating system started the thread.

ThreadState ThreadState ThreadState ThreadState

このスレッドの現在の状態を取得します。Gets the current state of this thread.

TotalProcessorTime TotalProcessorTime TotalProcessorTime TotalProcessorTime

このスレッドがプロセッサを使用した時間の合計を取得します。Gets the total amount of time that this thread has spent using the processor.

UserProcessorTime UserProcessorTime UserProcessorTime UserProcessorTime

関連付けられたスレッドが、アプリケーションでコードを実行した時間を取得します。Gets the amount of time that the associated thread has spent running code inside the application.

WaitReason WaitReason WaitReason WaitReason

スレッドが待機している理由を取得します。Gets the reason that the thread is waiting.

メソッド

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Component によって使用されているすべてのリソースを解放します。Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor()

このスレッドに最も適したプロセッサをリセットして、単一の最も適したプロセッサがないことを示します。Resets the ideal processor for this thread to indicate that there is no single ideal processor. つまり、どのプロセッサも適しています。In other words, so that any processor is ideal.

ToString() ToString() ToString() ToString()

Component の名前 (存在する場合) を格納する String を返します。Returns a String containing the name of the Component, if any. このメソッドはオーバーライドできません。This method should not be overridden.

(Inherited from Component)

イベント

Disposed Disposed Disposed Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されると発生します。Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

適用対象

こちらもご覧ください