반응형
스레드 동기화를 할 경우 공유되는 변수에 대해 오류를 발생시킬 가능성이 매우 높다. 따라서 동기화 락을 획득하고 해제하는 코드를 이용하여 데이터 접근 부분을 감싸야 한다.
l 감싸는 부분을 놓칠 경우 데이터 손상은 필연적
여러 개의 CPU를 가진 컴퓨터에서 테스트를 하는 것이 여러 스레드가 동시에 리소스 접근할 일이 많아 유용하다.
l 성능 저하
락을 해제하고 추가하는 과정은 함수 호출, 스레드 결정을 수반해 상당한 시간을 소요하게 된다.
특정 시간에 딱 한 개의 스레드 만이 리소스에 접근
락의 존재 이유이자 단점이 될 수 있다.
스레드 블로킹으로 인해 더 많은 스레드를 생산해야 할 수도 있다
반응형
'C# > CLR via' 카테고리의 다른 글
단순 유저 모드 동기화 & 커널 모드 동기화 (1) | 2020.03.25 |
---|---|
I/O 중심의 비동기작업 (1) | 2020.03.25 |
LINQ (0) | 2020.03.25 |
스레드(Thread) (0) | 2020.03.25 |
직렬화 serialization (0) | 2020.03.25 |