Hallo Java Profis,
ich bin etwas verwirrt, weil es mir immer in anderer Version erklärt wird, deshalb folgende Fragen:
Ich habe eine Klasse, welche Methoden enthält und Blöcke, die als synchronized deklariert sind. Ich erzeuge nun zwei Thread Objekte dieser Klasse, A und B. Nun greife ich mit A auf eine synchronized Methode bzw. synchronized Block zu.
1.) Kann Objekt B nun auf dieselbe Methode/Block zugreifen? - Nein schätze ich als Antwort?
2.) Kann Objekt B auf andere synchronized Methoden/Block zugreifen? - Mir wurde gesagt nein, da die synchronized Klassenmethoden und Blöcke für alle anderen Threads gesperrt sind, ist das richtig?
3.) Wie verhält es sich wenn die Klasse als synchronized deklariert ist?
4.) Wie verhält es sich wenn eine Methode als static synchronized deklariert ist?
5.) Ich verstehe immer noch nicht genau was genau der Unterschied ist, eine Klasse mit implements Runnable oder extends Thread zu deklarieren(?)
Wäre für Aufklärung wirklich dankbar.
JavaL
ich bin etwas verwirrt, weil es mir immer in anderer Version erklärt wird, deshalb folgende Fragen:
Ich habe eine Klasse, welche Methoden enthält und Blöcke, die als synchronized deklariert sind. Ich erzeuge nun zwei Thread Objekte dieser Klasse, A und B. Nun greife ich mit A auf eine synchronized Methode bzw. synchronized Block zu.
1.) Kann Objekt B nun auf dieselbe Methode/Block zugreifen? - Nein schätze ich als Antwort?
2.) Kann Objekt B auf andere synchronized Methoden/Block zugreifen? - Mir wurde gesagt nein, da die synchronized Klassenmethoden und Blöcke für alle anderen Threads gesperrt sind, ist das richtig?
3.) Wie verhält es sich wenn die Klasse als synchronized deklariert ist?
4.) Wie verhält es sich wenn eine Methode als static synchronized deklariert ist?
5.) Ich verstehe immer noch nicht genau was genau der Unterschied ist, eine Klasse mit implements Runnable oder extends Thread zu deklarieren(?)
Wäre für Aufklärung wirklich dankbar.
JavaL