Sono davvero tre concetti diversi o mi sto confondendo? (Sto leggendo articoli su threading e garbage collection insieme e mi sono confuso.)Differenza tra "Sezione critica", "Regione critica" e "Regione di esecuzione vincolata"
"Sezione critica" - Penso che questo possa essere solo il termine per sezioni di codice che non vuoi più thread accesso allo stesso tempo cioè all'interno del blocco e delle istruzioni Monitor.Enter/Exit?
"Regione critica" - Nessun vero indizio qui - MSDN dice qualcosa sulla falsariga di "Questo dice a un host che le eccezioni generate all'interno della sezione potrebbero avere un effetto più ampio". E che "gli host del CLR, ad esempio il server Sql", possano scegliere di gestire le eccezioni lanciate all'interno delle regioni critiche "in modo diverso". Diversamente come? E perché? E, cosa più importante, in quali scenari del mondo reale potrei aver bisogno di contrassegnare il codice come una regione critica?
"Regione ad esecuzione forzata" - Mi sono imbattuto in questo quando ho letto su CriticalFinalizerObject in un articolo di raccolta di dati inutili.
Tutto ciò che posso capire da MSDN su questo è che il codice all'interno di una di queste regioni è in qualche modo garantito per l'esecuzione (ma come?) E non deve pertanto generare eccezioni "fuori banda".
Che cos'è un out-of-band exception
? (Ho fatto questo google ma mi ha solo chiesto se intendevo "eccezione dei limiti").
È un'eccezione non gestita? O solo alcuni tipi di eccezione? E ancora, cosa più importante, in quali scenari del mondo reale potrei aver bisogno di una "regione di esecuzione vincolata"?
Dato che non capisco bene i concetti, non sono sicuro di quali tag abbia bisogno questa domanda oltre a ".NET".
Sono abbastanza sicuro che la tua comprensione della sezione critica sia corretta. – Brian
Questo è un inizio :). Non sono sicuro di aver usato i termini corretti. Ho visto "Sezione critica" in articoli sul blocco. Ho visto "Regione critica" solo nella pagina MSDN per Thread.BeginCriticalRegion. So che "Regione di esecuzione vincolata" è perché c'è una pagina MSDN per questo. –