다음을 통해 공유


ICorProfilerInfo4::InitializeCurrentThread 메서드

교착 상태를 피할 수 있도록 동일한 스레드에서 후속 프로파일러 API 호출보다 먼저 현재 스레드를 초기화합니다.

구문

HRESULT InitializeCurrentThread ();  

설명

일시 중단된 스레드가 있는 동안 프로파일러 API를 호출할 스레드에서 InitializeCurrentThread를 호출하는 것이 좋습니다. 이 메서드는 일반적으로 샘플링 프로파일러에서 ICorProfilerInfo2::DoStackSnapshot 메서드를 호출하여 대상 스레드가 일시 중단되는 동안 스택 워크를 수행하는 자체 스레드를 만드는 데 사용됩니다. 프로파일러가 샘플링 스레드를 처음 만들 때 InitializeCurrentThread를 한 번 호출하면 프로파일러는 DoStackSnapshot에 대한 첫 번째 호출 중에 CLR이 수행하는 지연 스레드 단위 초기화가 이제 다른 스레드가 일시 중단되지 않을 때 안전하게 발생할 수 있도록 할 수 있습니다.

참고

InitializeCurrentThread는 잠금을 사용하는 작업을 완료하기 위해 미리 초기화를 수행하며 교착 상태가 될 수 있습니다. 일시 중단된 스레드가 없는 경우에만 InitializeCurrentThread를 호출합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4.5부터 사용 가능

참고 항목