Hallo,
ich möchte gerne mehrere Threads von einem Threadpool ausführen lassen, diese sollen gemeinsam alle mit shutDown auf einmal beendet werden, wenn eine Methode isfinished true zurückgibt. Jeder Thread soll eine Punkt auf dem Bildschirm fortbewegen, also in der run Methode immer einen Schritt gehen lassen.
ich hätte jetzt in der run Methode des Threads einfach nur den Methodenaufruf Schritt () geschrieben (am Besten in einer while Schleife, die solange augeführt werden soll bis isfinsished = true) und in der Klasse wo die ThreadPools gestartet werden:
ExecutorService e = Executors.newFixedThreadPool(5);
for (int i = 1; i < 6; i++){
e.execute(new Thread());
}
Aber wie mache ich das mit dem isfinished ? Frägt man das besser im Thread ab oder in der Hauptklasse wo die Threadpools erstellt werden? Wenn im Thread: Wie sagt man dann dem ThreadPool dass er sich beenden soll?
Wenn in der Hauptklasse: Wie kriegt man dann die einzelnen Threads dazu mehrere Schritte zu machen? Weil wenn ich das richtig verstanden habe wird bei execute genau einmal die run Methode des Threads aufgerufen oder?
Vielen Dank für Hilfe im Voraus!
Liebe Grüße
ich möchte gerne mehrere Threads von einem Threadpool ausführen lassen, diese sollen gemeinsam alle mit shutDown auf einmal beendet werden, wenn eine Methode isfinished true zurückgibt. Jeder Thread soll eine Punkt auf dem Bildschirm fortbewegen, also in der run Methode immer einen Schritt gehen lassen.
ich hätte jetzt in der run Methode des Threads einfach nur den Methodenaufruf Schritt () geschrieben (am Besten in einer while Schleife, die solange augeführt werden soll bis isfinsished = true) und in der Klasse wo die ThreadPools gestartet werden:
ExecutorService e = Executors.newFixedThreadPool(5);
for (int i = 1; i < 6; i++){
e.execute(new Thread());
}
Aber wie mache ich das mit dem isfinished ? Frägt man das besser im Thread ab oder in der Hauptklasse wo die Threadpools erstellt werden? Wenn im Thread: Wie sagt man dann dem ThreadPool dass er sich beenden soll?
Wenn in der Hauptklasse: Wie kriegt man dann die einzelnen Threads dazu mehrere Schritte zu machen? Weil wenn ich das richtig verstanden habe wird bei execute genau einmal die run Methode des Threads aufgerufen oder?
Vielen Dank für Hilfe im Voraus!
Liebe Grüße