lock bliver oversat til et kald til Monitor.Enter af compileren.
Monitor.Enter er igen implementeret ved at kalde operativsystemets implementation af synkronisering
http://msdn2.microsoft.com/en-us/library/ms686360(VS.85).aspx, specifikt mener jeg at
http://msdn2.microsoft.com/en-us/library/ms687028(VS.85).aspx anvendes.
Så kan man spørge sig selv, hvordan denne funktion er implementeret. Det kan gøres på forskellige måder, men nøglen her er at det er implementeret på OS niveau, og der derfor er et helt andet niveau af kontrol med, hvilken tråd der er aktiv, mm.
Jeg er ikke videre inde i, hvilken algoritme, der specifikt bruges i f.ek.s Windows - men man kan finde forklaringer på nogle algoritmer til formålet på Google:
http://www.google.dk/search?q=os+implementing+synchronization&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a