1. 휘발성이 정확히 하는 일
(휘발성은 순서와 가시성을 보장하지만 원자성을 보장할 수 없음)
(추천 비디오 튜토리얼: java 비디오 튜토리얼)
1 명령 재정렬은 금지됩니다. 이 변수에 대해 다른 스레드가 작동할 때 가시성을 보장합니다. 즉, 한 스레드가 특정 변수의 값을 수정하면 새 값이 다른 스레드에 즉시 표시됩니다.
3 원자성은 보장되지 않습니다(스레드 안전하지 않음) )
2. 동기화 키워드와 휘발성 키워드 비교
휘발성 키워드는 스레드 동기화의 경량 구현이므로 휘발성 키워드가 동기화 키워드보다 확실히 성능이 좋습니다. 단, 휘발성 키워드는 변수에만 사용할 수 있고 동기화 키워드는 메소드 및 코드 블록을 수정할 수 있습니다.
(더 많은 관련 인터뷰 질문 추천:
java 인터뷰 질문 및 답변) synchronized 키워드는 JavaSE1.6 이후에 도입되었으며 주로 잠금 획득 및 잠금 해제로 인한 성능 소모를 줄이기 위해 도입된 편향된 잠금이 포함되어 있습니다. 경량 잠금 및 기타 최적화 이후에 크게 개선되었습니다. 실제 개발에서는 동기화된 키워드가 사용되는 시나리오가 더 많습니다.
휘발성 키워드에 대한 다중 스레드 액세스는 차단되지 않지만 동기화된 키워드는 차단될 수 있습니다.
휘발성 키워드는 데이터의 가시성을 보장할 수 있지만 데이터의 원자성을 보장할 수는 없습니다. 동기화된 키워드는 두 가지를 모두 보장할 수 있습니다. 동기화는 세 가지 주요 속성인 원자성, 질서성 및 가시성을 보장합니다.
휘발성 키워드는 주로 여러 스레드 간의 변수 가시성을 해결하는 데 사용되는 반면, 동기화된 키워드는 여러 스레드 간의 리소스 액세스 동기화를 해결하는 데 사용됩니다.
관련 권장 사항:
Java 시작하기위 내용은 Java 엔지니어 인터뷰 - 휘발성 키워드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!