ICorProfilerInfo4::InitializeCurrentThread-Methode
Initialisiert den aktuellen Thread vor nachfolgenden Profiler-API-Aufrufen im selben Thread, sodass ein Deadlock vermieden werden kann.
Syntax
HRESULT InitializeCurrentThread ();
Bemerkungen
Es wird empfohlen, InitializeCurrentThread
für jeden Thread aufzurufen, der eine Profiler-API aufruft, solange es angehaltene Threads gibt. Diese Methode wird typischerweise von Samplingprofilern verwendet, die ihren eigenen Thread erstellen, um die ICorProfilerInfo2::DoStackSnapshot-Methode zum Durchführen von Stackwalks aufzurufen, während der Zielthread angehalten ist. Durch den einmaligen Aufruf von InitializeCurrentThread
, wenn der Profiler den Samplingthread erstmals erstellt, können Profiler sicherstellen, dass die verzögerte threadbezogene Initialisierung, die die CLR andernfalls während des ersten Aufrufs von DoStackSnapshot
durchführen würde, nun sicher erfolgen kann, sofern keine anderen Threads angehalten sind.
Hinweis
InitializeCurrentThread
führt die Initialisierung im Voraus aus, um Aufgaben abzuschließen, die Sperren und möglicherweise einen Deadlock aufweisen. Rufen Sie InitializeCurrentThread
nur auf, wenn es keine angehaltenen Threads gibt.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorProf.idl, CorProf.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: seit Version 4.5 verfügbar