Ho svolto alcune ricerche per trovare esattamente come Monitor.Enter funziona internamente. Ho guardato attraverso the code e sembra che il reale meccanismo per l'inserimento si trova all'interno di una funzione esterna:Come funziona Monitor.Enter?
[System.Security.SecuritySafeCritical]
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern void ReliableEnterTimeout(Object obj, int timeout, ref bool lockTaken);
Qualcuno sa che questa funzione fa o ciò che il meccanismo generale di Monitor.Enter è? Come fa a sapere quali oggetti sono bloccati?
possibile duplicato di [Come funziona() funziona System.Threading.Monitor.Enter?] (Http://stackoverflow.com/questions/6770815/how-does-system-threading-monitor-enter-work) – gdoron