Thread nur einmal starten

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich erstelle gerade ein Programm, welches auf eine Datenbank zugreift. Der Datenbankzugriff wird in einem thread abgehandelt. Ichhabe links einen JTree und durch einer Sleketion eines Blattes wird die entsprechende Abfrage gestartet. Momentan kann diese Abfrage nicht unterbrochen werden, da ich den JTree danach enable(false) setze. Nun möchte ich aber, das er enabled bleibt und sobald man auf ein anders Blatt klickt, diese Abfrage ausgeführt wird. Bis jetzt wird dann aber ein zweiter Thread erstellt und der "zerschießt" mir dann mein Erebniss, weil ich in dem programm mit den Werten nachher weiterrechne.

Der Code mal auszugsweise:
Code:
SwingUtilities.invokeLater(new Runnable() {
					public void run() {
	
						Thread appThread = new Thread() {
							public void run() {
								klasse.datenbankabfrage(model)
							}
							
						};
						appThread.start();
					}
				});

Das "model" ist dabei eine Klassenvariable. Wie kann ich es jetzt erzwingen, dass kein neuer Thread erzeugt wird, sondern nur einer besteht, bzw wie kann ich diesen einen Thread stoppen, bevor der andere wieder eine Datenbankabfrage abschicken kann.
 
Wenn du nur einen Thread brauchst, warum erzeugst du dann einen neuen? Wenn das Programm sequenziell abgearbeitet wird, so wie du das beschreiben hast, brauchst du keinen weiteren Thread. Das Programm stellt an sich schon einen Thread dar.
 
die db-abfrage dauert etwas länger, deswegen wird die in einem thread abgehandelt, damit ich in der gui einen statusbalken anzeigen kann.
 
Kann mir da niemand einen weiteren Tipp geben? Komme leider nicht weiter.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben