ICorProfilerInfo4::InitializeCurrentThread 메서드
교착 상태를 피할 수 있도록 동일한 스레드에서 후속 프로파일러 API 호출보다 먼저 현재 스레드를 초기화합니다.
구문
HRESULT InitializeCurrentThread ();
설명
일시 중단된 스레드가 있는 동안 프로파일러 API를 호출할 스레드에서 InitializeCurrentThread
를 호출하는 것이 좋습니다. 이 메서드는 일반적으로 샘플링 프로파일러에서 ICorProfilerInfo2::DoStackSnapshot 메서드를 호출하여 대상 스레드가 일시 중단되는 동안 스택 워크를 수행하는 자체 스레드를 만드는 데 사용됩니다. 프로파일러가 샘플링 스레드를 처음 만들 때 InitializeCurrentThread
를 한 번 호출하면 프로파일러는 DoStackSnapshot
에 대한 첫 번째 호출 중에 CLR이 수행하는 지연 스레드 단위 초기화가 이제 다른 스레드가 일시 중단되지 않을 때 안전하게 발생할 수 있도록 할 수 있습니다.
참고
InitializeCurrentThread
는 잠금을 사용하는 작업을 완료하기 위해 미리 초기화를 수행하며 교착 상태가 될 수 있습니다. 일시 중단된 스레드가 없는 경우에만 InitializeCurrentThread
를 호출합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4.5부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET