volatile은 어떤 작용을 하는가

498 단어 직접 겪다
자바 언어 컴파일러에서는 프로그램의 운영 효율을 높이기 위해 컴파일러가 자동으로 이를 최적화하고 자주 접근하는 변수를 캐시합니다. 프로그램은 이 변수를 읽을 때 메모리에서 이 값을 읽지 않고 캐시에서 직접 읽을 수 있습니다.
그러나 다중 루틴 프로그래밍을 만났을 때 변수의 값은 다른 루틴으로 인해 바뀔 수 있고 캐시 값은 그에 상응하여 바뀌지 않아 읽는 값과 실제 변수의 값이 일치하지 않는다.
volatile         ,                      。

volatile 형식에 의해 정의된 변수는 시스템이 사용할 때마다 대응하는 메모리에서 직접 추출하고 캐시를 사용하지 않습니다.volatile 수식 구성원 변수를 사용한 후, 모든 라인이 언제든지 변수의 값을 볼 수 있습니다.
주의해야 할 것은volitile는 조작의 원자성을 보장할 수 없기 때문에 일반적인 상황에서sychronized는 할 수 없다.

좋은 웹페이지 즐겨찾기