Hallo,
was passiert eigentlich wenn ich folgendes habe:
Der Grund für diesen Aufbau könnte sein, dass testMethode2() auch noch von einer anderen Stelle aus aufgerufen wird und deshalb noch mal auf die Liste synchronisiert ist.
Meine Frage wäre jetzt, ich die liste jetzt übersynchronisiert oder auf 2 verschiedene "locks" synchronisiert oder hat das gar keinen Einfluß, da ich 2 mal auf den selben "lock" der Liste synchronisiere?
was passiert eigentlich wenn ich folgendes habe:
Java:
class Test {
private List list = new ArrayList();
private void testMethode1() {
synchronized(list) {
// mach was mit der Liste
testMethode2();
}
}
private void testMethode2() {
synchronized(list) {
// mach was mit der Liste
}
}
}
Der Grund für diesen Aufbau könnte sein, dass testMethode2() auch noch von einer anderen Stelle aus aufgerufen wird und deshalb noch mal auf die Liste synchronisiert ist.
Meine Frage wäre jetzt, ich die liste jetzt übersynchronisiert oder auf 2 verschiedene "locks" synchronisiert oder hat das gar keinen Einfluß, da ich 2 mal auf den selben "lock" der Liste synchronisiere?