C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2010/07/25 17:08
GC.AddMemoryPressureGC.RemoveMemoryPressure には信頼性のコントラクト (ReliabilityContractAttribute) がない。
ということは、これらは CER 内に含められないし、呼び出し元は Cer.None になってしまう、ということだろーか…?
本来、GC.AddMemoryPressure には Cer.MayFail か Cer.Success が、GC.RemoveMemoryPressure には Cer.Success がマークされてるべきじゃないの??
スポンサーサイト



2006/08/10 16:17
.NET Framework 2.0だと、System.Threading.Threadの基本クラスがSystem.Runtime.ConstrainedExecution.CriticalFinalizerObjectっていうクラスになってて、なんだこれ?と思って調べようと思ったら、どうもCERってのが絡んでるらしく、気になるので近い内にちゃんと勉強しとこう、っていうメモ。

信頼性に関するベスト プラクティス
制約された実行領域 (CER: Constrained Execution Region)
CriticalFinalizerObject クラス (System.Runtime.ConstrainedExecution)
SafeHandle クラス (System.Runtime.InteropServices)
CriticalHandle クラス (System.Runtime.InteropServices)
ReliabilityContractAttribute クラス (System.Runtime.ConstrainedExecution)