"类型对象指针"和"同步块索引"中存储了哪些数据?

pen*_*ake 11 .net clr memory-management object

在CLR中,每个实例都有2个额外的字段来存储一些数据来管理对象:

  • 键入对象指针
  • 同步块索引

你能解释一下它们里面存储的内容以及CLR如何使用它们吗?

谢谢!

Guf*_*ffa 12

类型对象指针是指向对象的类型描述的指针.这用于找出对象的实际类型,例如进行虚拟调用所需的内容.

同步块索引是同步块表的索引.每个对象都可以有一个同步块,其中包含Monitor.Enter和使用的信息Monitor.Exit.