Andrew Troelsen 在他的书Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition中说了解CLR newobj指令 248,第一个第三个子弹
在将引用返回给调用者之前,将下一个对象指针前进以指向托管堆上的下一个可用插槽
听起来推进下一个对象指针是一个lock
块(或类似的东西),以确保在所有.net上在托管堆上创建每个对象后,此指针正确递增线程。我是对还是完全错了?
答案 0 :(得分:2)
首先,这是一个实现细节。有很多方法可以实现这一点,CLR实现可以随意选择。
一些可能的实施:
Interlocked.Exchange