Share via


ICorProfilerInfo4::InitializeCurrentThread メソッド

同じスレッド上の後続のプロファイラー API 呼び出しの前に現在のスレッドを初期化し、デッドロックを回避できるようにします。

構文

HRESULT InitializeCurrentThread ();  

解説

中断されたスレッドがあるときに、プロファイラー API を呼び出すすべてのスレッドで InitializeCurrentThread を呼び出すことをお勧めします。 このメソッドは通常、ターゲット スレッドが中断されている間にスタック ウォークを実行するために ICorProfilerInfo2::DoStackSnapshot メソッドを呼び出す独自のスレッドを作成する、サンプリング プロファイラーによって使用されます。 プロファイラーで最初にサンプリング スレッドを作成するときに InitializeCurrentThread を 1 回呼び出すことによって、プロファイラーでは、そうしない場合に CLR によって DoStackSnapshot への最初の呼び出し中に実行されるスレッドごとの遅延初期化を、他のスレッドが中断されていないときに安全に実行できるようになりました。

Note

InitializeCurrentThread は、ロックを受け取るタスクを完了するために事前に初期化されるため、デッドロックが発生する可能性があります。 中断されたスレッドが存在しない場合にのみ、InitializeCurrentThread を呼び出してください。

必要条件

:システム要件」を参照してください。

ヘッダー : CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4.5 以降で使用可能

関連項目