Когда именно .NET Monitor переходит в режим ядра?
Я хотел бы составить список всех возможных условий, заставляющих Monitor переходить в режим ядра / использовать объект синхронизации ядра.
Блок синхронизации имеет поле для ссылки на объект ядра, поэтому я вычитал, чтоlock
когда-нибудь перейдет в режим ядра.
Я нашел это :Блокировка (Монитор) внутренней реализации в .NET
но у него слишком много вопросов, на которые нужно ответить, и единственная полезная информация состоит в том, что ФП ответил на свой вопрос, просто заявив, чтоlock
когда-нибудь перейдет в режим ядра. Также нет ссылок ни на что, чтобы поддержать этот ответ.
У меня вопрос другой -Я хочу знать, когда именноlock
перейдет в режим ядра (не если и не почему - когда).
Мне больше интересно узнать о .NET 4 и 4.5, если есть разница с более старыми версиями
РЕДАКТИРОВАТЬ: Из книги Рихтера: «Блок синхронизации содержит поля для объекта ядра, ID потока-владельца, счетчик рекурсии и счетчик ожидающих потоков».