0
은 다음과 같습니다C#의 volatile과 java의 차이점은 무엇입니까? 컴파일러는 휘발성 처리하는 방법을 내가 이것을 읽고 일부 .NET 문서에서
- *
- "는에 쓰기"휘발성 읽거나 Thread.VolatileRead 방법을 사용하는 것은 논리적으로 획득 울타리입니다 " 휘발성 또는 스레드를 사용하여 .VolatileWrite 메서드는 논리적으로 릴리스 펜스 "*
이러한 펜스는 컴파일러 및 아키텍처 수준 모두에 적용됩니다.
물론 VC++의 주된 차이점은 펜스가 컴파일러 레벨에만 적용된다는 것입니다.
제 질문은 자바의 휘발성 메모리에 대한 메모리 재정렬 방지 의미 란 무엇입니까?
변환 :
울타리 = 배리어 장벽 = 울타리
참고 :
조 더피 (Windows의 동시 프로그래밍)
자바에서
물론 어휘가 제가 알고 – fge
없음 차이가 없습니다하지만 당신의 JLS (http://docs.oracle.com/javase/specs/)에서 답을 찾아야한다; Java에서의 일시적인 읽기는 획득 (acquire)과 동일합니다. 릴리스에 대한 쓰기 - CLR과 동일합니다. – Voo