Multithreading und stop

Status
Nicht offen für weitere Antworten.

0din

Bekanntes Mitglied
Hallo,

Ich schreibe zur zeit ein programm das mehrere Threads gebraucht um eine Webseite runter zu laden.
Nun baue ich das ganze soweit aus das für jede seite ein neuer thread gebraucht wird.
Diese Threads halte ich in einer ArrayList fest.
Jeder klasse (in den threads) meldet sich bei der "beaufsichtigen klasse" wenn se fertig is.
Nun weiß ich jedoch nicht, wie gehe ich damit um?

Wie leite ich mir aus einer klasse, die im extra thread läuft, den Thread ab um ihn zu stoppen?
Was mache ich wenn sich 2 Threads gleichzeitig melden?
und was ganz banales, wie lösche ich den thread aus der AL ohne den index zu kennen?
 

Marco13

Top Contributor
Threads werden i.a nicht "gestoppt", sondern hören auf zu laufen, wenn sie fertig sind. Man kann z.B. durch ein flag sagen, dass ein Thread fertig sein soll.

Aus einer ArrayList kann man Objekte auch mit
list.remove(denThread);
entfernen.
 

Der Müde Joe

Top Contributor
>seite ein neuer thread gebraucht wird.

Nimm Executor und deren Services.

>meldet sich bei der "beaufsichtigen klasse" wenn se fertig is.

Observer Pattern

>Diese Threads halte ich in einer ArrayList fest.

Für was?

>Was mache ich wenn sich 2 Threads gleichzeitig melden?

egal. Wenn keine statiscen oder globalen Variablen im Spiel sind. Sonst halt synchen.

>wie lösche ich den thread aus der AL ohne den index zu kennen?

remove(object);

>den Thread ab um ihn zu stoppen?

Der weiss wann er zu ende ist. den brauchst du nie zu stoppen.
 

0din

Bekanntes Mitglied
also brauch ich die threads niemals zu stoppen weil se selbst aufhören zu arbeiten un damit auch gelöscht werden?
das würde alle probleme auf einen schlag lösen... danke ^^ ich werds nachm essn ma austestn
 

Der Müde Joe

Top Contributor
>also brauch ich die threads niemals zu stoppen weil se selbst aufhören zu arbeiten un damit auch gelöscht werden?

Ja und Nein. Der Thread ist fertig wenn er fertig ist (wenn die run vorbei ist). Das Objekt bleibt hingegen bestehen. Wenn du dieses einer Liste hinzufügts, dann bleibt es darin, bis du es entfernts oder die Liste löscht.
 

Painii

Bekanntes Mitglied
also brauch ich die threads niemals zu stoppen weil se selbst aufhören zu arbeiten un damit auch gelöscht werden?
Du kannst Threads stoppen, ist aber nicht gewünscht.
Statt aggressiv zu stoppen sagst du dem Thread liebevoll "du brauchst nichtmehr weiter rechnen" und der Thread hört von selbst auf.
Der Thread selbst ist auch nur ein Objekt, sobald du darauf keine Referenz mehr bekommen kannst wird er auch gelöscht. (Wenn du ihn in ner List hast kannst du die Referenz noch bekommen -> wird nicht automatisch gelöscht)

Dein Thread könnte ja auch mehrmals mit start() aufgerufen werden, deswegen kann man den nicht einfach so irgendwann löschen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
buzzlightyeah multithreading Java Basics - Anfänger-Themen 4
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
I Threads Multithreading, Producer/Consumer, notify() Java Basics - Anfänger-Themen 6
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
kilopack15 Verzweiflung wegen Berechnung mit Multithreading Java Basics - Anfänger-Themen 1
P Multithreading in Java Java Basics - Anfänger-Themen 9
N Threads Read-Modify-Write Problem bei Multithreading (philosopher dining problem) Java Basics - Anfänger-Themen 5
R Threads Multithreading Java Basics - Anfänger-Themen 15
Z Verständnisfrage zum Multithreading Java Basics - Anfänger-Themen 3
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K Frage bzgl. Multithreading Java Basics - Anfänger-Themen 5
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
C Multithreading, Methoden sichern Java Basics - Anfänger-Themen 5
P Hilfe bei MultiThreading; Einige Fragen. Java Basics - Anfänger-Themen 14
S OOP Multithreading Java Basics - Anfänger-Themen 5
B Multithreading Java Basics - Anfänger-Themen 5
P Singletons und Multithreading Java Basics - Anfänger-Themen 11
U Anfängerfrage - Multithreading Java Basics - Anfänger-Themen 8
H Multithreading Java Basics - Anfänger-Themen 7
M Multithreading Java Basics - Anfänger-Themen 18
I Multithreading (Prüfungsvorbereitung) Java Basics - Anfänger-Themen 6
G UI friert bei Multithreading ein Java Basics - Anfänger-Themen 3
J Multithreading mit einer TextArea Java Basics - Anfänger-Themen 29
JFeel-x Multithreading in awt Java Basics - Anfänger-Themen 2
L NullpointerException wegen wahrscheinlichem Multithreading Java Basics - Anfänger-Themen 4
Z Multithreading Java Basics - Anfänger-Themen 2
P Multithreading Java Basics - Anfänger-Themen 22
H Würfelspiel, stop bei gleicher Zahl Java Basics - Anfänger-Themen 4
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
lumo Threads stop it! Java Basics - Anfänger-Themen 5
S Thread stoppen ohne stop()? Java Basics - Anfänger-Themen 13
N Muss ein thread aktive mit stop beendet werden? Java Basics - Anfänger-Themen 18
K Midi stoppt trotz stop button nicht Java Basics - Anfänger-Themen 3
U stop() vs. interrupt() Java Basics - Anfänger-Themen 17
T Thread.stop() Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben