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 以降で使用可能
関連項目
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示