ICorProfilerInfo4::InitializeCurrentThread 方法
对同一线程调用后续探查器 API 之前初始化当前线程,这样可以避免死锁。
语法
HRESULT InitializeCurrentThread ();
备注
我们建议你在存在暂停的线程时在调用探查器 API 的任何线程上调用 InitializeCurrentThread
。 此方法通常由创建自己的线程的采样探查器使用,以调用 ICorProfilerInfo2::DoStackSnapshot 方法在目标线程暂停时执行堆栈审核。 通过在探查器首次创建采样线程时调用一次 InitializeCurrentThread
,探查器可以确保 CLR 在第一次调用 DoStackSnapshot
期间执行的每个线程的延迟初始化现在可以在没有其他线程暂停时安全地进行。
备注
InitializeCurrentThread
提前进行初始化以完成获取锁且可能死锁的任务。 仅当没有暂停的线程时才调用 InitializeCurrentThread
。
要求
平台:请参阅系统要求。
头文件: CorProf.idl、CorProf.h
库:CorGuids.lib
.NET Framework 版本:自 4.5 起可用