c# lock으로 멀티뜨레드 대이터 래이스 막기
대이터 래이스 아래의 예제는 일부러 data race가 일어나게 한 거다. 동시에 두 개의 뜨레드에서 하나의 리스트에 대이터를 쓴다. 그 결과 리스트 값들은 듬성듬성 빠져 있다. 하나의 뜨레드에서 쓰기 작업을 끝내기 전에 다른 뜨레드에서 덮어쓰기 때문이다. lock으로 동기화 리스트에 쓰는 부분을 아래와 같이 lock으로 둘러싸면 대이터 래이스는 일어나지 않는다. 먼저 lock에 다다른 리스트에 대한 쓰기 작업이…