ECMA CLI规范定义了一个弱内存模型。这允许对命令执行顺序进行重新排序(这对于提高性能很有用)。但是,为这种模型编写低级代码非常困难。
最重要的是-X86 / AMD64处理器体系结构具有更严格的(强)内存模型。结果,Microsoft在其CLR实现中实现了比规范中描述的更强大的内存模型。
.NET Core中的内存模型是否已更改?该框架可能可以在内存模型比X86 / AMD64弱的体系结构上运行。
此外,.NET Core合并了Mono等。据我所知,Mono内存模型较弱,对应于ECMA。
在.NET 5简介中撰写:
通过充分利用.NET Core,.NET Framework,Xamarin和Mono来扩展.NET的功能。
因此,我认为,如果不是现在,那么将来这些运行时将合并为一个整体。
在下面的文章中写道:
我们正在相互替代CoreCLR和Mono的过程中。我们将使它像构建开关一样简单,可以在不同的运行时选项之间进行选择。
如果我理解正确,将有两个(或更多)运行时。也许每个人都会有自己的记忆模型。
我们在说什么:内存模型。