Threads stoppen

Status
Nicht offen für weitere Antworten.

frau-u

Aktives Mitglied
Hi,

Es war hier schon einige Male Thema im Forum, aber ich hab es nicht geschafft, auch nur eine der vorgeschlagenen Ersatzlösugen umzusetzen.
Also: ich will einen Thread stoppen, aber stop() ist bekanntlich deprecated.

Mein Code ist:
Code:
public void start() {		
		t = new Thread(new Runnable() {
			public void run() {
				try {
					play();
				} catch (FileNotFoundException n) {
				} catch (JavaLayerException j) {
				}								
			}						
			
		});		
		t.start();		
	}
	
public void stop() {
		t.stop();		
}

So funktioniert es wie ich will, allerdings gibt es beim kompilieren eine Fehlermeldung(wg. deprecated).
Jemand eine gute Idee?
Thx.
 

foobar

Top Contributor
Benutz doch mal die Suche, zu dem Thema gibt es schon sooooo viele Threads.

Stichwort: isInterrupted
 

frau-u

Aktives Mitglied
foobar hat gesagt.:
Benutz doch mal die Suche, zu dem Thema gibt es schon sooooo viele Threads.

Stichwort: isInterrupted

Wie geschrieben: ich habs probiert.

So z.B.:
Code:
public void start() {		
		t = new Thread(new Runnable() {
			public void run() {
				while(!isInterrupted()) {
					try {
						play();
					} catch (FileNotFoundException n) {
					} catch (JavaLayerException j) {
					}
				}					
			}						
			
		});		
		t.start();		
	}
	
	public void stop() {
		t.interrupt();		
	}

Beim kompilieren bekomme ich dann:
MP3List.java:46: cannot resolve symbol
symbol: method isInterrupted ()
while(!isInterrupted()) {
^
1 error
 

MPW

Top Contributor
Also, ich hab' zwar nicht kapiert was mir dieser clock-thread-link sagen soll,
aber bei mir funktioniert das auch nicht. Ich hab schon mal versucht die Methoden interrupt, isInterrupted zu überschreiben, das hilft aber auch nicht. In keinem Fall auch nicht mit this.isInterrupted oder ThreadName.isInterrupted() hilft irgendwas..es kann doch nicht sein das das nicht geht...

Code:
	public void run() {
		 while ( ! tt.isInterrupted() ) {
			setVisible(false);
			remove(qua);
			add(qua_offen);
			setVisible(true);
			try {
				Thread.sleep(150);
			} catch (InterruptedException e) {
			}
			setVisible(false);
			remove(qua_offen);
			add(qua);
			setVisible(true);
			try {
				Thread.sleep(150);
			} catch (InterruptedException e) {
			}
		}
	}

}

mit this kompiliert er garnicht erst und das andere funktioniert schlichtweg nicht...geht dsa vielleicht nicht in Kombination mit implments Runnable..muss man immer eine Threadclasse bauen?

//edit: die überschriebenen Methoden werden auch garnicht ausgeführt....ein darin enthaltenes System.out.println wird nämlich garnicht abgearbeitet...
 

Orillion

Mitglied
Du musst in deiner run()-Methode dich selber darum kümmern, wann der Thread aufhört.
Zum Beispiel irgendwie so:

Code:
class MyThread implements Runnable
{
  private boolean running = false;
  public void stop () { running = false;}
  public void run ()
  {
    running = true;
    while (running)
    {
      // mach was
    }
  }
}

Anders gehts nicht so leicht.
 

MPW

Top Contributor
ne hab' jetzt was bessers gefunden....
Da mein Thread Mundbewegungen eine Figur steuern muss, hab' ich jetzt eine Varibale die die Anzahl der Mundbewegungen angibt und sobald das abgearbeitet ist hört er auf.

und nix da mit man muss sich da selber drum kümmern, in Java ist auch eine Insel steht eindeutig, das sun da schon was gemacht hat...
 

Jörg

Bekanntes Mitglied
MPW hat gesagt.:
ne hab' jetzt was bessers gefunden....
[..]hab' ich jetzt eine Varibale die die Anzahl der Mundbewegungen angibt und sobald das abgearbeitet ist hört er auf.

und nix da mit man muss sich da selber drum kümmern, in Java ist auch eine Insel steht eindeutig, das sun da schon was gemacht hat...

check ichs nicht, oder hast du dich dann doch selbst drum gekuemmert???
Und wo steht das in dem Buch?? Soweit ich weiss - :### - steht da die (hier beschriebene)
Version mit isInterrupted() und interrupt() ...!
 

Natorion

Bekanntes Mitglied
Ich glaub er meint die TimerTasks bzw den Timer. da kümmert sich java mehr oder weniger selbst um abbruch und aufruf.
 

MPW

Top Contributor
Also klar, ich habe mich jetzt selber drum gekümmert.

Aber da steht doch in dem Buch, das Java da schon etwas vorgibt - was für mich heißt, man müsste sich nicht selber drüm kümmern...scheint wohl aber nich so zu sein, Runnables können das nicht, vielleicht kanns die Klasse Thread(also extends Thread), hab' ich aber noch nicht geguckt. Alle Beispiele in Java ist auch eine Insel sind allerdings immer mit extends Thread...ich brauchte halt Runnable, naja hab's ja gelöst...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Threads stoppen mit interrupt - Frage dazu Java Basics - Anfänger-Themen 7
N Mehrere Threads starten/stoppen Java Basics - Anfänger-Themen 4
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C Threads und Swing Java Basics - Anfänger-Themen 9
berserkerdq2 Wo finde ich in der Java Api die Notation zu Threads bezüglich Synchronized? Java Basics - Anfänger-Themen 14
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
B Monitor als Schranke von Threads Java Basics - Anfänger-Themen 20
W Threads Alphabet Java Basics - Anfänger-Themen 20
H Threads Anfänger Java Basics - Anfänger-Themen 17
1 Threads parallel laufen Java Basics - Anfänger-Themen 11
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
M Threads Java Basics - Anfänger-Themen 12
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
M Threads Java Basics - Anfänger-Themen 2
A Threads Java Basics - Anfänger-Themen 9
A Threads Java Basics - Anfänger-Themen 13
A Threads und .join Java Basics - Anfänger-Themen 14
W Threads starten Java Basics - Anfänger-Themen 2
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Wieviele threads? Java Basics - Anfänger-Themen 9
J Problem bei seriellem Start von Threads Java Basics - Anfänger-Themen 11
O Threads Java Basics - Anfänger-Themen 2
L Buchungssystem und Threads Java Basics - Anfänger-Themen 2
O Threads - Synchronize(), join(), wait(), notify(), yield() Java Basics - Anfänger-Themen 6
L Klassen NFC Reader und JavaFx Problem -> threads? Java Basics - Anfänger-Themen 2
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
S Gemeinsame Ressource und Mehrfachinstanziierung von Threads Java Basics - Anfänger-Themen 16
S Verklemmung Threads Java Basics - Anfänger-Themen 11
B Threads 2 Threads gleichzeitig laufen lassen Java Basics - Anfänger-Themen 1
M Threads Threads laufen sequenziell, statt gleichzeitig. Java Basics - Anfänger-Themen 9
M Threads run Methode Java Basics - Anfänger-Themen 4
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
javajoshi Problem mit zwei Threads und Arrays (Runnable) Java Basics - Anfänger-Themen 12
L Threads Mit Threads JLabel ändern! Java Basics - Anfänger-Themen 2
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
S Kleine Frage zu Threads Java Basics - Anfänger-Themen 3
M Mit 2 Threads eine Zahl hochzählen Java Basics - Anfänger-Themen 13
T Threads Synchronisieren Java Basics - Anfänger-Themen 6
D Frage Threads Java Basics - Anfänger-Themen 6
Z Threads Executor Framework - Aufgabe auf n Threads aufteilen Java Basics - Anfänger-Themen 10
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
kilopack15 Mehrere Threads in einer Klasse Java Basics - Anfänger-Themen 8
H Threads funktionieren nicht Java Basics - Anfänger-Themen 4
J Aufgabe(Threads) richtig verstanden/implementiert Java Basics - Anfänger-Themen 27
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
T Threads Durch threads gestartete Prozesse killen Java Basics - Anfänger-Themen 2
J Threads Java Basics - Anfänger-Themen 38
D Alte Klausuraufgabe Threads Java Basics - Anfänger-Themen 10
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
R Threads in JavaFX Java Basics - Anfänger-Themen 3
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
F Sicheres Zurückmelden aus Threads Java Basics - Anfänger-Themen 0
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
J ConcurrentCalculation Multi Threads in Java Java Basics - Anfänger-Themen 3
P Threads Trotz Threads wird nur 1 Prozessorkern ausgelastet Java Basics - Anfänger-Themen 7
M "restartable" threads Java Basics - Anfänger-Themen 11
M Threads - summieren Java Basics - Anfänger-Themen 13
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
E Threads - Programm analysieren Java Basics - Anfänger-Themen 2
E join() bei zwei Threads Java Basics - Anfänger-Themen 2
T Threads Threads richtig synchronisieren Java Basics - Anfänger-Themen 3
D [Concurrency/Threads] Code Umsetzung Schriftlich Java Basics - Anfänger-Themen 2
D Threads Java Basics - Anfänger-Themen 4
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
N Verweise auf Variablen in verschiedenen Threads Java Basics - Anfänger-Themen 4
T Java-Threads Java Basics - Anfänger-Themen 0
G Moving Objects with Threads (implements Runnable) Java Basics - Anfänger-Themen 1
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
M Problem mit Threads Java Basics - Anfänger-Themen 11
M Threads - wo gehören sie hin? Java Basics - Anfänger-Themen 3
S 2D-Spiel mit Threads... Java Basics - Anfänger-Themen 3
J Threads Java Basics - Anfänger-Themen 3
F ExecutorService und offene Threads Java Basics - Anfänger-Themen 3
P Threads Threads nicht nebenläufig Java Basics - Anfänger-Themen 7
M Threads nicht nebenleblaufig Java Basics - Anfänger-Themen 2
B Threads parallel zur main Java Basics - Anfänger-Themen 3
M Threads Java Basics - Anfänger-Themen 2
M Threads, zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
M Threads und Methodenübergreifender Variablezugriff Java Basics - Anfänger-Themen 2
J Wie handle ich Threads am besten? Java Basics - Anfänger-Themen 2
H Threads Java Basics - Anfänger-Themen 10
B synchronized threads Java Basics - Anfänger-Themen 17
E Mehrmaliges Ausführen eines Threads Java Basics - Anfänger-Themen 5
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
T Alle Threads .notify() Java Basics - Anfänger-Themen 13
R Threads Verständnisschwierigkeit Java Basics - Anfänger-Themen 2
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
G Methoden in Threads wandeln Java Basics - Anfänger-Themen 7
H Threads Java Basics - Anfänger-Themen 17
F Java Concurrency - Threads Java Basics - Anfänger-Themen 4
V Threads Threads synchronisieren Java Basics - Anfänger-Themen 4
T Threads Join() = Block? oO Java Basics - Anfänger-Themen 4
J Threads ArrayList Problem bei Threads Java Basics - Anfänger-Themen 3
C Objekte durchschleifen / Threads Java Basics - Anfänger-Themen 2
N Pingen in Threads Java Basics - Anfänger-Themen 9
B Threads benutzen Java Basics - Anfänger-Themen 5
E Allgemein Verständnissfrage zum Ablauf mehrerer Threads Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben