버그 해결을 위한 모든 질문을 던져
0 votes
162 views
C#에서 StreamWriter로 WriteLine을 이용해 로그를 찍으면 제일 처음 로그가 N번 반복되서 찍힙니다.

예를들어 제가 로그를 아래와 같이 남기었다면,

 

WriteLine("Hello");

WriteLine("World");

 

실제 파일 상에는

Hello

Hello

Hello

World

 

이렇게 찍히고 있습니다. 이와 관련된 경험이나 집히는 게 있으시는 분들은 답변 좀 부탁 드리겠습니다.

감사합니다.
asked (2 point) , 162 views
루프 문제거나 예외 처리 후 다시 접근한다거나 하는 구조 문제일거 같습니다.

 

동작 구조를 보기 전에는 답이 어렵지 않을까요

1 답변

+1 vote
혹시 멀티스레드 상황은 아니신지 궁금하네요.
answered (21 point)
멀티쓰레드 상황은 맞습니다 락을 걸어보겠습니다.
lock을 걸어서 해결되었습니다. 그렇다 하더라도, 왜 이런 현상이 일어나는지 이상하네요.

감사합니다.
멀티스레드는 모든 테스크가 병렬로 처리될 수 있습니다.

질문자께서 '최초 한번'으로 생각하고 작성한 함수는 멀티스레드상의 여러 워커(작업 스레드)마다 한번씩 실행될 수 있습니다.

멀티스레드는 꼭 필요한 상황이 아니라면 되도록 피하시길 권해드립니다. 병렬 가능한 부분이 아닌경우 결과적으로 처리속도를 떨어뜨릴 수 있습니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

110 질문
204 answers
219 댓글
230 users