_>Есть примитивы синхронизации которые работают в user mode, напр. Monitor.Enter(Object obj) внутри одного appdomain.
хм..
Точно-преточно? Т.е. он всю дорогу "спинит" (SpinWait?) поток, пока ждет?
Подскажите, пожалуйста, где про это прочитать.
upd:
http://stackoverflow.com/questions/14922437/when-exactly-net-monitor-goes-to-kernel-mode
Тут вот чуваки, создающие впечатление явно шарящих говорят, что никаких чудес:
1. проверка через Interlocked.CompareExchange, занят ли вообще
2. легкий SpinWait (ниже в сообщениях)
3. Mutex
Топикстартеру:
глава Hybrid Thread Synchronization Constructs из CLR via C# Рихтера