Вопрос в том, могу ли я создать класс, который получит уведомление, когда он заблокирован и разблокирован.
object myLockObj = new SpecialLockNotifyClass("Bob");
lock (myLockObj)
{
Console.WriteLine("Hello");
}
И результат, который вы получите:
Trying to lock Bob.
Bob is locked.
Hello.
Bob is unlocked.
Идея имеет два значения:
1) Настройте его так, чтобы можно было видеть, когда что-то пытается заблокировать (видя «пытающееся» сообщение »и ожидая бесконечно (не видя« заблокированное »сообщение) везде используется блокировка
2) Отключите выходы и вернитесь к стандартной блокировке, если вы уверены, что проблемы с блокировкой устранены.