WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 14.11.2003, 20:57   #1
jopp
Veteran
 
Registriert seit: 04.12.2001
Alter: 46
Beiträge: 266


Standard java - threads

hi leute

ich habe ein allgemeine frage zu threads, und zwar:

habe ich ein programm mit gui (swing), dieses programm soll auch berechnungen durchführen. während diesen berechnungen würde ich gerne einen fortschrittsbalken am bildschirm anzeigen, welcher mir den aktuellen fortschritt zeigt.
(frage 1: )dies ist doch sicher mit threads zu realisieren?

der eine thread berechnet, während der andere für den fortschrittsbalken arbeitet. (frage 2: )nur wie können die beiden miteinander kommunizieren, damit der fortschrittsbalken auch einen vernünftigen stand der berechnungen wiedergibt?
(frage 3: )und nehme ich richtig an, wenn das alles möglich ist, das ich den beide threads durch ein Event jederzeit beenden kann?

(frage 4: )und wenn ich threads verwende, muss dann mein gesamtes gui-programm in einem thread ablaufen?



ich wäre euch für antworten sehr dankbar.

jopp
jopp ist offline   Mit Zitat antworten
Alt 15.11.2003, 11:24   #2
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard Re: java - threads

Zitat:
(frage 1: )dies ist doch sicher mit threads zu realisieren?
genau
Zitat:
(frage 2: )nur wie können die beiden miteinander kommunizieren, damit der fortschrittsbalken auch einen vernünftigen stand der berechnungen wiedergibt?
eine Variable mit synchronized verwenden und abfragen
Zitat:
(frage 3: )und nehme ich richtig an, wenn das alles möglich ist, das ich den beide threads durch ein Event jederzeit beenden kann?
verwende interrupt() und isInterrupted(). Der Thread kann sich nach Prüfung dieser Methode durch Erreichen des Endes der run() Methode verabschieden.

Zitat:
(frage 4: )und wenn ich threads verwende, muss dann mein gesamtes gui-programm in einem thread ablaufen?
Bei der Verwendung von Theads gibt es nur ein einziges Programm. Das ist sinnvoller als das Schreiben eines zweiten Programms. Threads benötigen wenige Speicher und sind schneller.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 15.11.2003, 12:13   #3
moorhahn
Veteran
 
Registriert seit: 26.12.2000
Beiträge: 489


moorhahn eine Nachricht über ICQ schicken
Standard

http://www.boku.ac.at/javaeinf/jein2.html#thread
da steht noch was über multithreading in java.
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen).
moorhahn ist offline   Mit Zitat antworten
Alt 15.11.2003, 19:38   #4
jopp
Veteran
 
Registriert seit: 04.12.2001
Alter: 46
Beiträge: 266


Standard

danke für die rasche antwort

die 4. antwort habe ich nicht ganz verstanden. ich kann mich erinnern einmal gelesen zu haben, das ein java programm als prozess in einem betriebssystem läuft und dieser prozess dann verschiedene threads beinhalten kann. also läuft das programm sowieso in einem thread nur wird dieser nicht von mir sondern vom system erzeugt. ist das so richtig oder habe ich das falsch verstanden?

die 3. antwort ist verständlich. ich mache einfach abfragen in den thread, wodurch dieser dann gestoppt, unterbrochen werden kann.

das mit der variablen synchronized muss ich mir mal genauer anschauen.

auf jeden fall mal ein herzliches dankeschön für die antworten.

jopp
jopp ist offline   Mit Zitat antworten
Alt 15.11.2003, 21:06   #5
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Zitat:
die 4. antwort habe ich nicht ganz verstanden. ich kann mich erinnern einmal gelesen zu haben, das ein java programm als prozess in einem betriebssystem läuft und dieser prozess dann verschiedene threads beinhalten kann. also läuft das programm sowieso in einem thread nur wird dieser nicht von mir sondern vom system erzeugt. ist das so richtig oder habe ich das falsch verstanden?
Jeder Prozess (= Programm), der gestartet wird, hat natürlich beim Start auch einen Thread. Es gibt keinen Prozess ohne wenigstens einen Haupt-Thread. Ein Java-Programm wird in der Regel (nicht in Byte-Code umgewandelt) von der JVM abgearbeitet. Wenn ich mich nicht täusche, müsste diese auch die Threads erzeugen. Anders kann ich mir das nicht vorstellen, weil es sich nicht um Byte-Code handelt, der vom Betriebssystem verstanden wird, sondern um Java-Code.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:43 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag