Re[2]: Как сделать кастомный объект сихронизации (юзер левел
От: ylem  
Дата: 11.06.15 00:03
Оценка: 4 (1) +2
_>Есть примитивы синхронизации которые работают в 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# Рихтера
Отредактировано 11.06.2015 2:30 ylem . Предыдущая версия . Еще …
Отредактировано 11.06.2015 0:11 ylem . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.