モニターをカーネルモードにするか、カーネル同期オブジェクトを使用する可能性のあるすべての条件のリストをコンパイルしたいと思います。
同期ブロックには、カーネル オブジェクトを参照するフィールドがあります。したがって、lock
時々カーネルモードになると推測しました。
私はこれを見つけました: Lock (Monitor) internal implementation in .NET
lock
しかし、回答するには質問が多すぎます。唯一の有用な情報は、OPがカーネルモードに移行することを単に述べて、OPが自分の質問に答えたことです。また、その答えをサポートするためのリンクはありません。
正確にはいつlock
カーネルモードに移行しますか (かどうかではなく、理由ではなく、いつ)?
古いバージョンとの違いがある場合は、.NET 4 と 4.5 について聞くことにもっと興味があります。
リヒターの本から: 「同期ブロックには、カーネル オブジェクト、所有スレッドの ID、再帰カウント、待機スレッド カウントのフィールドが含まれています。」