Monitor.EnterMonitor.Exit同じスレッドから呼び出されるように設計されています。しかし、取得したスレッドとは別のスレッドでロックを解放する必要がある場合はどうすればよいでしょうか?
例: 共有リソースと、このリソースを使用する非同期操作があります。操作はBeginOperation、共有リソースのロックを開始して取得します。EndOperationロックを解除する方法もあります。EndOperation通常、コールバックから別のスレッドで呼び出さMonitor.Exitれるため、EndOperationメソッドで呼び出すことはできません。この場合の最善のアプローチは何ですか?良い解決策ではAutoResetEventなく、 でロックを再確認しますか?Monitor