Anzahl der negativen Sperren für kritische Abschnitte

Ich debugge ein Deadlock-Problem und Call-Stack zeigt, dass Threads auf einige Ereignisse warten.

Der Code verwendet einen kritischen Abschnitt als primitives Synchronisationselement. Ich denke, hier liegt ein Problem vor. Außerdem verweist der Debugger auf einen kritischen Abschnitt, der einem anderen Thread gehört, die Anzahl der Sperren beträgt jedoch -2. Nach meinem Verständnis bedeutet lock count> 0, dass der kritische Abschnitt durch einen oder mehrere Threads gesperrt ist.

Gibt es also eine Möglichkeit, dass ich auf den richtigen kritischen Abschnitt schaue, der der Täter in einer Sackgasse sein könnte?

In welchen Szenarien kann ein kritischer Abschnitt eine negative Anzahl von Sperren aufweisen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage