요약하면 volatile이 붙은 필드 변수는 외부 환경 (멀티 스레드 환경 등)에서 수정될 수 있음을 의미한다.
그렇기에 컴파일러가 임의로 최적화하는 것을 막으며,
변수 사용 시 메모리 수정을 대비하여 레지스터에 캐싱한 값 대신 매번 메모리에서 가져온다.
문득 궁금해져서 보긴 했는데, 아직 사용할 일은 크게 없을 듯 하다.
https://sonny777.tistory.com/7
제일 이해가 빨리 가는 포스팅
'C#' 카테고리의 다른 글
[C#] 레퍼런스 타입에 ref를 사용하는 경우가 있나? (0) | 2022.06.02 |
---|---|
[C#] Indexer (0) | 2022.06.01 |
[C#] 어셈블리 내 클래스 타입 가져오기 (0) | 2022.02.24 |
[C#] enum과 foreach 주의할 점 (0) | 2022.02.24 |
[C#] Add와 AddRange (0) | 2022.02.16 |