Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Threads in Java (Teil 2)
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Threads in Java (Teil 2)
 
Autor Nachricht
alex_som
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 16.11.2006
Beiträge: 53

BeitragVerfasst am: 16 Jan 2010 - 18:43:59    Titel: Threads in Java (Teil 2)

In dieser Aufgabe man muss 2 threads mit einem dritten thread beenden. Und zwar so, dass man dabei die methode stop() benutzen muss (ja es ist depricated aber laut Aufgabestellung man muss nur so machen). Kann mir jemand damit helfen?
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 16 Jan 2010 - 18:54:06    Titel:

Du darfst gerne deine alten Threads weiter benutzen, wenn du weitere Fragen hast. Wie rufst du eine Methode auf einem Objekt auf (denn nichts anderes ist der Thread)? Und außerdem: hier wird erwartet, dass mindestens ein Minimum an Eigenaufwand betrieben wird -- wir sind kein Hausaufgabenforum. Also: eigene Ideen, Ansätze, Gedanken posten und dann fragen...
alex_som
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 16.11.2006
Beiträge: 53

BeitragVerfasst am: 16 Jan 2010 - 19:06:58    Titel:

Also ich verstehe es nicht, warum brauchen wir diesen dritten Thread, wenn wir die 2 anderen sowieso beenden können mit thread1.stop () und thread.stop () im moment sieht meine Main methode so aus:

public static void main(String[] args) throws IOException {
Thread t1 = new ABCThread('a');
Thread t2 = new ABCThread('A');
Thread t3 = new Thread();
t1.start();
t2.start();
while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String kommando = reader.readLine();
if (kommando.equals("exit"))
break;
}
t1.stop();
t2.stop();
}

das Program läuft! ABER!
aber das heisst also das ich den dritten thread gar nicht benutzt habe.....und genau das ist das Problem: wie kann ich mit diesem dritten Thread 2 anderen zum stoppen bringen?
Ich hoffe es entspricht jetzt den Anforderungen von diesem Forum
Danke
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 16 Jan 2010 - 19:12:24    Titel:

Du musst wohl den dritten Thread anstoßen, der dann von sich aus die beiden Threads beendet. Wo liegt das Problem?
alex_som
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 16.11.2006
Beiträge: 53

BeitragVerfasst am: 16 Jan 2010 - 20:02:19    Titel:

Also so zum Beispiel:

public static void main(String[] args) throws IOException {
Thread t1 = new ABCThread('a');
Thread t2 = new ABCThread('A');
Thread t3 = new Stopper(t1, t2);
t1.start();
t2.start();
while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String kommando = reader.readLine();
if (kommando.equals("ex"))
break;
}
t3.start();
}
Das hat funktioniert....sieht das gut aus...oder hast du etwas anderes gemeint?
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 16 Jan 2010 - 21:49:27    Titel:

Ich dachte jetzt eher daran, dass alle 3 Threads gestartet werden und der dritte nur auf ein Tastaturkommando wartet, um die anderen beiden abzubrechen -- in etwa wie, als wenn du einen Thread startest, mit dem der Benutzer mittels eines Fensterchens informiert wird, dass andere Threads arbeiten und er auf Knopfdruck das aber abbrechen kann.
alex_som
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 16.11.2006
Beiträge: 53

BeitragVerfasst am: 16 Jan 2010 - 22:26:39    Titel:

Also...ich kann jetzt ziemlich schlecht nachvollziehen, was du meinst...meine Variante funktioniert zwar aber ich würde gerne wissen, wie deine Variante funktioniert....kannst du bitte auf meinem Beispiel zeigen wie das geht?
Danke!
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 17 Jan 2010 - 02:22:02    Titel:

Code:
public static void main(String[] args) throws IOException {
  Thread t1 = new ABCThread('a');
  Thread t2 = new ABCThread('A');
  Thread t3 = new Stopper(t1, t2);
  t1.start();
  t2.start();
  t3.start();


Stopper.run():

Code:
while (true) {
  BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  String kommando = reader.readLine();
  if (kommando.equals("ex"))
    break;
  }
}
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Threads in Java (Teil 2)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum