Я использую блокировку для блокировки других потоков в разделе моего кода. Но я хочу определить, повторно ли текущий поток входит в этот раздел, чтобы сгенерировать исключение, если у меня есть случай рекурсии. Я не хочу, чтобы поток самоблокировался, если он рекурсивный. Я хочу остановить программу с сообщением об ошибке отладки.
lock (x)
{
if (getlLockLevel(x) > 1) // Do not work, is the method I want to know
{
throw new Exception("ERROR : Current thread is recursive");
}
// My code...
}