작성
·
45
·
수정됨
0
visual studio 2022로 작업하고 있습니다.
Interlocked(9강), Lock(10강), DeadLock(11강)에서 디버깅을 하면서 무한루프 또는 DeadLock(11강)에 디버깅이 안되는 것을 따라해보고 있었습니다.
이전 컴파일러 최적화 강의(6강)를 따라하면서 Debug모드를 relase로 할 때 visual studio에서 3가지의 선택사항이 나왔었습니다. 취소해도 다시떠서 디버깅을위해 내꺼를 제외하고? 를 선택했었습니다.(항목이 기억이 나지 않네요.. 뭐라고 검색해야할지도 모르겠고 프로젝트를 새롭게 만들어도 해당사항은 나오지 않았습니다..)
그러고 나서 영상처럼 이부분이 문제입니다 하는 부분들이 저는 이상이 없더라고요
여기서 중단점 잡아도 안잡히는 문제가 있다고 합니다. 그래서 WaitAll에서 스레드를 찾고 문제점을 찾으셨지만 제가 따라할 때는 중단점으로 넘어왔습니다.
제 생각에는 시간이 지나면서 C#이 업데이트 됐거나, 2019가 아닌 2022로 해서 해당 문제가 안생기는 걸까요? 이것 뿐만 아니라 이전꺼에서도 나왔는데 크게 문제될건 없지만 답답함에 질문드려봅니다.
답변 1
0
아뇨 C#이나 VS 문제는 아니고, 멀티쓰레드 이슈므로 무조건 터져야 맞습니다.
다만 10000번은 횟수가 너무 적습니다.
t1.Start();와 t2.Start(); 가 동시에 일어나는 것이 아니기에
운이 나쁘면(?) 한 쪽이 무사히 끝나고 다음 애가 가동될 수 있습니다.
트라이 횟수를 한 100만 번으로 수정해보세요!
친절한 답변 감사합니다! 더 성장해보겠습니다!