当前位置:  开发笔记 > 开发工具 > 正文

.NET的Monitor类的源代码在哪里?

如何解决《.NET的Monitor类的源代码在哪里?》经验,为你挑选了1个好方法。

我很好奇一些低级.NET类是如何实现的.我以Monitor类为例.但是,我似乎无法在GitHub上找到它.我得到的最接近的是Monitor.cs在coreclr.但是,此文件中的代码仅引用了大量实用的extern方法[MethodImplAttribute(MethodImplOptions.InternalCall)].

这是我被卡住的地方.我在哪里可以找到这些内部方法的实现?



1> Lucas Trzesn..:

这些在CLR 中实现为FCall.

以下是Monitor相关内部调用的列表:

FCFuncStart(gMonitorFuncs)
    FCFuncElement("Enter", JIT_MonEnter)
    FCFuncElement("ReliableEnter", JIT_MonReliableEnter)
    FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter)
    FCFuncElement("Exit", JIT_MonExit)
    FCFuncElement("ObjWait", ObjectNative::WaitTimeout)
    FCFuncElement("ObjPulse", ObjectNative::Pulse)
    FCFuncElement("ObjPulseAll", ObjectNative::PulseAll)
    FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld)
FCFuncEnd()

所以,如果你想查找的定义Enter为实例方法,你就必须找JIT_MonEnter(在这种情况下,它是一个JIT帮手这里)

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有