Feld oder lokale Variable sperren?

Nachdem ich gelesen habediese Frage miteine Antwort von Marc ....

Ich sehe manchmal Leute, die sich an einen klammernlokal Variable.

Ist dieser Code kaputt?

public void Do()
{
 object  o  = new Object();
 lock (o)
     {
      ...
     }
}

Ich glaubeobject o = new Object(); sollte seindraußen die Methode alsField.

Da bekommt jeder Thread eine neue Instanz vono Es wird mehrere Sperren geben.

Was vermisse ich hier? Sollte es in diesem speziellen Fall nicht Felder sperren?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage