Übergabe einer ArrayList an mehrere Threads

Status
Nicht offen für weitere Antworten.
J

JayJay

Neues Mitglied
Guten Morgen,

ich habe ein Problem bezüglich zweier Threads, denen eine ArrayList übergeben wird. Der eine soll die Liste füllen und der andere unabhängig davon auf die Inhalte der Liste zugreifen. Leider kann ich mit dem 2. Thread, der auf die Liste zugreifen soll, dies nicht tun, da die ArrayList in diesem immer leer ist. Mache ich irgendetwas mit den Referenzen falsch?

Hier mein Code (Ausschnitt):

Diese Klasse ruft die beiden Threads auf:
[HIGHLIGHT="Java"]ArrayList<BeanDB> lokaleListEineBeanDB = new ArrayList<BeanDB>();

Thread thread1 = new Thread(new ThreadServerAbgleich(lokaleListEineBeanDB));
thread1.start();

Thread thread2 = new Thread(new ThreadLokaleDatenverarbeitung(lokaleListEineBeanDB));
thread2.start();[/HIGHLIGHT]

In diesem Thread wird die Liste befüllt (fuktioniert auch):

[HIGHLIGHT="Java"]public class ThreadServerAbgleich extends Thread{

public ArrayList<BeanDB> lokaleListEineBeanDB;
private final static Logger log = Logger.getLogger(ThreadServerAbgleich.class.getName());

public ThreadServerAbgleich(ArrayList<BeanDB> lokaleListEineBeanDB) {
this.lokaleListEineBeanDB = lokaleListEineBeanDB;
}

public void run() {
log.info("Thread 1 gestartet");

while ( ! isInterrupted()) {

vergleicheServerLokalDB(ladeDB(true), ladeDB(false));

System.out.println(lokaleListEineBeanDB.toString());

try {
Thread.sleep(1000);
} catch (Exception e) {
interrupt();
}

}

}

[...][/HIGHLIGHT]

Hier soll jetzt wieder auf lokaleListEineBeanDB zugegriffen werden:

[HIGHLIGHT="Java"]public ArrayList<BeanDB> lokaleListEineBeanDB;

private final static Logger log = Logger.getLogger(ThreadLokaleDatenverarbeitung.class.getName());

public ThreadLokaleDatenverarbeitung(ArrayList<BeanDB> lokaleListEineBeanDB) {
this.lokaleListEineBeanDB = lokaleListEineBeanDB;

}

public void run() {
log.info("Thread 2 gestartet");

while ( ! isInterrupted()) {

//vergleicheZeiten();
System.out.println(lokaleListEineBeanDB.toString());

try {
Thread.sleep(1200);
} catch (Exception e) {
interrupt();
}

}
}[/HIGHLIGHT]

Die Threads sollen später unabhängig voneinander in längeren Abständen (> 1 min) laufen. Ich hoffe ihr könnt mir in irgendeiner Form helfen. Ich wäre euch echt dankbar!

JayJay
 
Zed

Zed

Bekanntes Mitglied
Sagt dir das Schlüsselwort synchronized etwas? Wenn nicht dann informier dich mal drüber.

evtl. könnte es schon reichen wenn du einen Vector statt einer ArrayList verwendest.
 
J

JayJay

Neues Mitglied
Ja, wahrscheinlich kommt es einem Art "Producer-Consumer-Pattern" relativ nahe.

Der Vector brachte auch keine Lösung des Problems. Wenn ich mit dem einen Thread nur lese, müsste ich doch theoretisch nichts synchronisieren, da es in keinem Fall zu einem kritischen Zustand kommen kann, oder?

Mein Problem ist glaube ich einfach die Referenz. Wie kann ich von dem 2. Thread auf ein Objekt (die ArrayList) des 1. Threads zugreifen, welches beiden vorher übergeben wurde?

Ich denke, dass ich die beiden Threads zusammenführen werde. Das ist zumindest eine Lösung, die mich mit dem Programm zum Ziel führt.

Danke!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
R Methoden Übergabe von einer Methodenvariable Java Basics - Anfänger-Themen 3
fLooojava Probleme bei der Übergabe einer Variable Java Basics - Anfänger-Themen 14
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
K Übergabe einer im EventListener definierte variablen Java Basics - Anfänger-Themen 2
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
L Methoden Übergabe von Parameter Java Basics - Anfänger-Themen 3
K Java Problem mit Übergabe von argumenten Java Basics - Anfänger-Themen 3
J Übergabe von Parametern an andere Methoden Java Basics - Anfänger-Themen 5
M Übergabe von Werten Java Basics - Anfänger-Themen 10
arjoopy Kapselung Übergabe von Objekten aus ArrayList Java Basics - Anfänger-Themen 4
C Erste Schritte Übergabe von Klassen Java Basics - Anfänger-Themen 2
C Methoden Objekte und Methode und Übergabe Java Basics - Anfänger-Themen 4
O Übergabe in eine andere Klasse Java Basics - Anfänger-Themen 3
M Übergabe / Rückgabe Java Basics - Anfänger-Themen 6
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
T Problem bei Übergabe von Variablen Java Basics - Anfänger-Themen 1
A Problem mit set.Text und übergabe Java Basics - Anfänger-Themen 2
R Vererbung Übergabe von Variablen der Superklasse an Subklasse mit "extends" Java Basics - Anfänger-Themen 5
S OOP Übergabe eines Objektes? Java Basics - Anfänger-Themen 1
fLooojava OOP Übergabe/Output in Textfield Java Basics - Anfänger-Themen 4
U Übergabe von Objekten Java Basics - Anfänger-Themen 0
J ArrayList toString() Übergabe Fehler Java Basics - Anfänger-Themen 2
J Problem bei Param.übergabe und dem erstellen von JButtons Java Basics - Anfänger-Themen 4
S Übergabe Java Basics - Anfänger-Themen 14
S Klassen Array: Übergabe von Klasse zur Main Java Basics - Anfänger-Themen 8
A NullPointerException bei Übergabe eines Array Java Basics - Anfänger-Themen 8
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
D Klassen Problem - Übergabe an Konstruktor von Superklasse Java Basics - Anfänger-Themen 2
D Objekt Übergabe Java Basics - Anfänger-Themen 12
M Array Übergabe Java Basics - Anfänger-Themen 17
W Übergabe Stringzeilen von serieller Schnittstelle in andere Klasse Java Basics - Anfänger-Themen 3
B Übergabe Dateiname (String) an andere Klasse Java Basics - Anfänger-Themen 4
P Methoden Übergabe von Werten Java Basics - Anfänger-Themen 7
F Variablen Übergabe von eingelesenen Variablen in neue Klasse Java Basics - Anfänger-Themen 15
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
M problem mit string übergabe an klasse Java Basics - Anfänger-Themen 10
A übergabe wert in andere klasse Java Basics - Anfänger-Themen 8
A Übergabe von Variablen zu Paintmethode Java Basics - Anfänger-Themen 2
N Array Übergabe Java Basics - Anfänger-Themen 9
L Klassen Parameter Übergabe Java Basics - Anfänger-Themen 12
A OOP Übergabe eines Wertes an den enum Konstruktor Java Basics - Anfänger-Themen 12
O Übergabe von Variablen Java Basics - Anfänger-Themen 9
Darth Simple Übergabe eines Strings an eine Methode Java Basics - Anfänger-Themen 3
A Frage zur Übergabe von Strings Java Basics - Anfänger-Themen 9
N Übergabe problem Java Basics - Anfänger-Themen 6
M Übergabe von VM Argumenten Java Basics - Anfänger-Themen 4
A konstruktor übergabe fehler Java Basics - Anfänger-Themen 8
E Übergabe von werten aus einem JDialog Java Basics - Anfänger-Themen 4
J Übergabe eines Arrays als Parameter Java Basics - Anfänger-Themen 2
G JFileChooser übergabe an Directory Java Basics - Anfänger-Themen 4
S Übergabe von Frame-Objekt - kritisch? Java Basics - Anfänger-Themen 7
L JTabbedPane, richtige Übergabe von Tabs Java Basics - Anfänger-Themen 18
Z BigInteger Methoden und deren Übergabe Java Basics - Anfänger-Themen 3
M Übergabe von Variablen in eine Klasse Java Basics - Anfänger-Themen 13
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
M Problem bei der Übergabe von Werten Java Basics - Anfänger-Themen 7
G Übergabe von Parametern an JSP Java Basics - Anfänger-Themen 3
S Veränderung von Protected Daten durch Übergabe? Java Basics - Anfänger-Themen 3
K Übergabe der Variable für Farbe Java Basics - Anfänger-Themen 6
G List<.> nach Übergabe vergleichen? Java Basics - Anfänger-Themen 3
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
M [SOLVED]parameter übergabe an objekte Java Basics - Anfänger-Themen 2
R Beiß mir die Zähne aus an der Request-Parameter-Übergabe! Java Basics - Anfänger-Themen 10
lin Übergabe an JPanel-Klasse Java Basics - Anfänger-Themen 3
S NullPointerException bei Array-Übergabe Java Basics - Anfänger-Themen 3
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
D Übergabe von Variablen Java Basics - Anfänger-Themen 11
W Variabeln Übergabe Java Basics - Anfänger-Themen 14
W übergabe des aktuellen wertes in andere Klasse Java Basics - Anfänger-Themen 3
F Großes Problem: Vector-Übergabe Java Basics - Anfänger-Themen 7
F Übergabe Vaterframe mit this und Fehlermeldung. Java Basics - Anfänger-Themen 2
D Fragen zu Methoden und Übergabe von Werten Java Basics - Anfänger-Themen 4
G Übergabe von Variablenwerten zwischen Methoden Java Basics - Anfänger-Themen 4
D Problem bei Übergabe von Werten an eine Methode Java Basics - Anfänger-Themen 2
H Übergabe eines Wertes an eine Bean --> Bean leer Java Basics - Anfänger-Themen 6
T Array-Übergabe Java Basics - Anfänger-Themen 7
M Windows Pfad-Übergabe.. Java Basics - Anfänger-Themen 6
S String mit Konstruktor (per Übergabe) initialisieren Java Basics - Anfänger-Themen 10
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
jonny_2k12 Wie kann ich eine ArrayList aus einer Klasse in eine andere übergeben? Java Basics - Anfänger-Themen 21
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
itsmejo Erste Schritte Auf Attribut einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 14
DorFey Schrittweises abändern des GUI während for-Schleife / pausieren einer for-Schleife Java Basics - Anfänger-Themen 3
R Implementieren einer iterativen und rekursiven Klassenmethode. Java Basics - Anfänger-Themen 1
J Übergeben einer Objektreferenz Java Basics - Anfänger-Themen 6
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
P Veränderungen einer ObservableList Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Anzeige

Neue Themen


Oben