Hallo!
Verstehe ich richtig, dass ich bei synchronized-Blöcken für den Parameter folgende Optionen habe:
- this
- ein eigens erstelltes lock-Objekt als Feld der Klasse
- Klasse.class
- ein statisches lock-Objekt als Feld der Klasse
Ich verstehe nicht genau, was da abläuft: Der Parameter ist dasjenige Objekt oder diejenige Klasse, deren lock ich benutze. Ist das dann die Monitor-Klasse? Und gibt es auch Situationen, in denen man eine Instanz eines anderen Objektes übergibt? Oder eine andere Klasse?
Und warum erstellt man manchmal dieses spezielle lock-Objekt?
Verstehe ich richtig, dass ich bei synchronized-Blöcken für den Parameter folgende Optionen habe:
- this
- ein eigens erstelltes lock-Objekt als Feld der Klasse
- Klasse.class
- ein statisches lock-Objekt als Feld der Klasse
Ich verstehe nicht genau, was da abläuft: Der Parameter ist dasjenige Objekt oder diejenige Klasse, deren lock ich benutze. Ist das dann die Monitor-Klasse? Und gibt es auch Situationen, in denen man eine Instanz eines anderen Objektes übergibt? Oder eine andere Klasse?
Und warum erstellt man manchmal dieses spezielle lock-Objekt?