ECMA CLI 사양은 약한 메모리 모델을 정의합니다. 이를 통해 명령 실행 순서를 재정렬 할 수 있습니다 (성능에 유용함). 그러나 이러한 모델에 대한 저수준 코드 작성은 매우 어렵습니다.
그리고 가장 중요한 것은 X86 / AMD64 프로세서 아키텍처는보다 엄격한 (강력한) 메모리 모델을 갖습니다. 결과적으로 Microsoft는 CLR 구현에서 사양에 설명 된 것보다 강력한 메모리 모델을 구현했습니다.
.NET Core에서 메모리 모델이 변경 되었습니까? 잠재적으로이 프레임 워크는 X86 / AMD64보다 메모리 모델이 약한 아키텍처에서 실행될 수 있습니다.
또한 .NET Core는 Mono 및 기타를 통합합니다. 내가 아는 한, 모노 메모리 모델은 더 약하고 ECMA에 해당합니다.
이 기사에서는 다음과 같이 작성된 .NET 5를 소개합니다 .
.NET Core, .NET Framework, Xamarin 및 Mono를 최대한 활용하여 .NET의 기능을 확장하십시오.
따라서 지금은 아니라면 앞으로 이러한 런타임이 단일 전체로 병합 될 것이라고 생각합니다.
아래 기사에서 작성되었습니다.
현재 CoreCLR 및 Mono 드롭 인 교체를 진행 중입니다. 다른 런타임 옵션 중에서 선택할 수있는 빌드 스위치처럼 간단하게 만들 것입니다.
올바르게 이해하면 두 개 이상의 런타임이 있습니다. 그리고 아마도 모든 사람들은 자신의 메모리 모델을 가질 것입니다.
우리가 말하는 것은 : Memory Model .