소개
Concurrency Visualizer 설치
사용 방법
데이터 확인
프로그래밍을 하면서 스레드가 과연 잘 처리를 하는지
혹시 어디서 병목 현상이 일어나서 제대로 처리를 못하고 있는건지 등등에 관한 해답을 시각화로 보여준다.
프로그램(프로세스)을 돌리면서 실시간 데이터 정보를 받아 각 스레드의 사용량을 시각적으로 보여주는 프로그램이다.
Visual Studio에 Concurrency Visualizer라는 것이 있다. Concurrency Visuallizer는 멀티스레드 프로그램이 여러 가지 일을 정말로 덩시에 잘 수행하는지 분석하여 이를 시각화해서 보여 주는 도구이다.
확장(X) -> 확장 관리 -> concurrency 검색

맨위에꺼를 설치하면 됩니다.
그리고 VS를 끄고 다시 키면


대략 몇 초 정도만 재도 충분하기 때문에 5~10초 기다렸다가 중지 버튼을 눌러 중지하고 새로운 창이 뜨길 기다립니다.
사용률에 대한 데이터이다.

스레드에 대한 데이터이다.

이런식으로 정보를 확인할 수 있다.
그래프는 각 스레드가 무슨 일을 했는지 그래프로 보여 줍니다.
밑에 표시되는 시간 막대 프로필에서 %의 의미는 일한 시간의 92%가 동기화에 사용하고 있다는 것입니다.
(여기서 동기화란 뮤텍스를 이미 다른 스레도르 잠근 상태인지라, 그 잠금이 끝날 때까지 기다리는 동안의 시간을 의미합니다)

밑에 프로필 보고서를 클릭하면 각 스레드가 무엇을 했는지 보여 줍니다. 녹색은 실행, 즉 Runnable입니다.

그리고 빨간색이나 색상을 클릭하면 어떤 스레드가 무엇 때문에 잠금이 발생하고 잠을 자는지 등을 확인할 수 있습니다.
이런 시각적인 자료를 통해서(Concurrency Visualizer) 스레드의 성능을 쉽게 확인할 수 있다.