Являются ли они фактически тремя различными понятиями или я становлюсь беспорядочным? (Я читал статьи о резьбе и сборе мусора вместе и запутал себя.)Разница между «критической секцией», «критической областью» и «областью ограничений»
«Критическая секция» - Я думаю, что это может быть просто термин для участков коды, которые вы не хотите несколько потоков доступ в то же время, т.е. внутренние блокировки и действия Monitor.Enter/Exit?
«Критическая область» - Нет реальной подсказки здесь - MSDN говорит что-то в строках «Это говорит хозяину, что исключения, выброшенные внутри раздела, могут иметь более широкий эффект». И что «хосты CLR, например Sql Server» могут выбирать обработку исключений, которые были выбраны в критических областях «по-разному». Иными словами, как? И почему? И, что самое важное, в каких сценариях реального мира мне может понадобиться отметить код как критический регион?
«Ограниченный регион выполнения» - Я столкнулся с этим, когда читал о CriticalFinalizerObject в статье коллекции мусора.
Все, что я могу понять из MSDN, это то, что код в одной из этих областей как-то гарантированно работает (но как?) И поэтому не должен вызывать исключения вне диапазона.
Что такое out-of-band exception
? (Я сделал это Google, но он просто спросил меня, имею ли я в виду «исключение из-за пределов»).
Это любое необработанное исключение? Или только определенные типы исключений? И еще раз, самое главное, в каких реальных сценариях мне может понадобиться «ограниченный регион исполнения»?
Как я вообще не понимаю концепции, я не уверен, какие теги этот вопрос нуждается, кроме «.NET».
Я уверен, что ваше понимание критического раздела верное. – Brian
Это начало :). Я не уверен, что использовал правильные условия. Я видел «Критический раздел» в статьях о блокировке. Я видел только «Критический регион» на странице MSDN для Thread.BeginCriticalRegion. Я знаю, что «Ограниченный регион выполнения» - это потому, что для него есть страница MSDN. –