Метод ICorProfilerInfo4::InitializeCurrentThread
Инициализирует текущий поток до последующих вызовов API профилировщика в том же потоке, чтобы можно было избежать взаимоблокировки.
Синтаксис
HRESULT InitializeCurrentThread ();
Remarks
Рекомендуется вызывать InitializeCurrentThread
в любом потоке, который будет вызывать API профилировщика, пока существуют приостановленные потоки. Этот метод обычно используется профилировщиками выборки, которые создают собственный поток для вызова метода ICorProfilerInfo2::D oStackSnapshot для выполнения обходов стека во время приостановки целевого потока. InitializeCurrentThread
Вызывая один раз, когда профилировщик впервые создает поток выборки, профилировщики могут гарантировать, что отложенная инициализация каждого потока, которую среда CLR выполнила бы во время первого вызова , DoStackSnapshot
теперь может выполняться безопасно, если другие потоки не приостановлены.
Примечание
InitializeCurrentThread
выполняет инициализацию заранее, чтобы завершить задачи, которые принимают блокировки, и может взаимоблокироваться. Вызов, InitializeCurrentThread
только если нет приостановленных потоков.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с версии 4.5