L
learner
Gast
Hi,
sorry für die dämliche Frage, aber ich glaube ich bin grad wirklich zu blöd dazu:
Ich finde im Netz immer nur Beispiele für die Synchronisation von zwei Threads. Ich habe allerdings mehrere Threads, die auf das gleiche Objekt zugreifen.
Ausgangspunkt ist eine HashMap<String, HashMap>.
Der String ist eine ID, damit ich auf die verschachtelte Unter-HashMap zugreifen kann. Jeder Thread besitzt eine eigene ID und soll jeweils auf seine eigene HashMap zurückgreifen und dort seine berechneten Daten einspeichern. Rufe ich nun von jedem Thread eine Funktion auf, die die "obere" HashMap auslesen soll, kommt es u.U. dazu, dass die eine oder andere verschachtelte HashMap null ist. Das würde ich nun gerne synchroniseren.
Aber wie mache ich das?
Aufgebaut sind meine Threads so:
sorry für die dämliche Frage, aber ich glaube ich bin grad wirklich zu blöd dazu:
Ich finde im Netz immer nur Beispiele für die Synchronisation von zwei Threads. Ich habe allerdings mehrere Threads, die auf das gleiche Objekt zugreifen.
Ausgangspunkt ist eine HashMap<String, HashMap>.
Der String ist eine ID, damit ich auf die verschachtelte Unter-HashMap zugreifen kann. Jeder Thread besitzt eine eigene ID und soll jeweils auf seine eigene HashMap zurückgreifen und dort seine berechneten Daten einspeichern. Rufe ich nun von jedem Thread eine Funktion auf, die die "obere" HashMap auslesen soll, kommt es u.U. dazu, dass die eine oder andere verschachtelte HashMap null ist. Das würde ich nun gerne synchroniseren.
Aber wie mache ich das?
Aufgebaut sind meine Threads so:
Java:
class calculate extends Thread {
@Override
public void run() {
... //Berechne und greife auf die HashMap zu
}
}