A
andy_Y
Gast
Threads:
Wenn Ich einen Thread erstellen will kann ich das durch implementieren
der Schnittstelle Runnable oder durch ableiten der Klasse Thread tun,
richtig? Das heißt, ich schreibe für den code der parallel ablaufen soll
eine extra Klasse die Runnable implementiert oder von Thread abgeleitet
ist und und packe den code in die run()-methode.
1.
Muss das immer eine extra Klasse sein?
2.
Wenn ich jetzt ein programm habe, in dem ich mehrere funktionen parallel
zum rest des programms und zu unterschiedlichen zeitpunkten (also die
erste fkt. soll am anfang, die zweite in der mitte, die dritte am schluss
parallel zum rest ablaufen) ablaufen sollen, muss ich die fkt. dann in
je eine eigene klasse packen, die runnable implementiert oder von Thread
abgleitet ist?
3.
Kann ich dem Thread sagen, zu welchem Zeitpunkt er genau fertig sein soll?
Oder kann man die Laufdauer nicht beeinflussen?
4.
Man kann einen Thread von außen über interreupt() und stop() beenden.
Aber kann man ihn auch in der run()-Methode selbst beenden?
Also z.B.:
Ist jetzt ein blödes beispiel, zeigt aber worauf ich hinaus will.
Kann ich überhaupt innerhalb der run()-methode auf den Thread zugreifen
(mit stop(), interrupt(), suspend(), resume(), usw.), oder ist das nur
von außen möglich?
Wenn Ich einen Thread erstellen will kann ich das durch implementieren
der Schnittstelle Runnable oder durch ableiten der Klasse Thread tun,
richtig? Das heißt, ich schreibe für den code der parallel ablaufen soll
eine extra Klasse die Runnable implementiert oder von Thread abgeleitet
ist und und packe den code in die run()-methode.
1.
Muss das immer eine extra Klasse sein?
2.
Wenn ich jetzt ein programm habe, in dem ich mehrere funktionen parallel
zum rest des programms und zu unterschiedlichen zeitpunkten (also die
erste fkt. soll am anfang, die zweite in der mitte, die dritte am schluss
parallel zum rest ablaufen) ablaufen sollen, muss ich die fkt. dann in
je eine eigene klasse packen, die runnable implementiert oder von Thread
abgleitet ist?
3.
Kann ich dem Thread sagen, zu welchem Zeitpunkt er genau fertig sein soll?
Oder kann man die Laufdauer nicht beeinflussen?
4.
Man kann einen Thread von außen über interreupt() und stop() beenden.
Aber kann man ihn auch in der run()-Methode selbst beenden?
Also z.B.:
Code:
public void run() {
for(int i=0;i<i;i++) {
if(i==10) {
Thread beenden;
}
}
}
Kann ich überhaupt innerhalb der run()-methode auf den Thread zugreifen
(mit stop(), interrupt(), suspend(), resume(), usw.), oder ist das nur
von außen möglich?