デバッガーでは、このようなコード行を実行すると「フリーズ」します。lock (myvar)
明らかに、他の誰かがを保持していmyvar
ます。しかし、私はこのラインでそれmyvar
が無料であるべきだと期待しています。myvar
したがって、コードのどの部分が(別のスレッドから)保持されているのかを知りたいのです。どうやってやるの?どのスレッドがそれを保持しているのかはわかりますが(他のスレッドが1つしかないため)、どこにあるのかわかりません。
updがMonitor.Exit(myvar)
解決しました、私は1つの後に電話するのを忘れましたMonitor.TryEnter(myvar)