Mehrmaliges Ausführen eines Threads

Ethernut

Mitglied
Liebe Forumuser,


ich hänge da an einem Problem. Ich habe einen Client-value Thread der von einer externen Datei "Client" per Client-value.start ausgeführt wird.

Meine Frage ist:

Wie kann ich die Datei Client (welche Kommandozeilenargumente aufnehmen kann) mehrmals parallel aufrufen?
Also zB möchte ich 2 Instanzen davon erstellen und die Ergebnisse auf der Kommandozeile anzeigen.

Client_Rand_Value.java:

Java:
package at.tw.ose.measurement;

import java.io.IOException;

public class Client_Rand_Value extends Thread {
	static int value;

	static int max;
	static int min;
	static int timeout;

	/**
	 * @param args
	 */

	Client_Rand_Value(int max, int min, int timeout) {
		this.max = max;
		this.min = min;
		this.timeout = timeout;
	}

	@Override
	public void run() {
		while (true) {
			try {
				MeasureGenerator generator = new MeasureGenerator(max, min);
				value = generator.nextValue();
				System.out.println("Random Value is: " + value);
				System.out.println("run");
				sleep((timeout*1000));
			} catch (Exception e) {
				System.out.println("ERROR!!!");
			}
		}
	}
}

Client.java:

Java:
package at.tw.ose.measurement;

import java.io.IOException;

public class Client {
	
	static int max;
	static int min;
	static int timeout;

	/**
	 * @param args
	 * @throws IOException 
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws IOException {
		max = Integer.parseInt(args[1]);
		min = Integer.parseInt(args[2]);
		timeout = Integer.parseInt(args[3]);
		
//		Debugen
//		System.out.println("Max = " + max);
//		System.out.println("Min = " + min);
//		System.out.println("timeout = " + timeout);
		
		
		Client_Rand_Value client = new Client_Rand_Value(max,min,timeout);
		client.start();
	}
}

Weis irgendeiner einen Rat?
Über Run -> Run Configurations -> Arguments stelle ich das ein.

Danke euch schon im voraus :)

lg Ethernut
 
S

Spacerat

Gast
Dafür gibt es das Runnable-Interface. Threads können nur einmal laufen, danach erhalten sie den State.TERMINATED und können nicht wieder gestartet werden. Dazu muss man eigentlich nur, statt Thread erweitern, Runnable implementieren. In einer eigenen Start-Methode ruft man dann statt "myThread.start()", "new Thread(myRunnable).start()" auf. So in der Art zumindest - Den Thread sollte man besser als member speichern und wenn er "stirbt" wieder null setzen. So kann man mit "myRunner != null" abfragen, ob ein Thread gestartet wurde.
Viel schöner aber soll man es mit "java.util.concurrent" hinbekommen, damit habe ich jedoch noch nicht gearbeitet, weil ich in Sachen MultiThreading "OldSchool" gewohnt bin.
 

ARadauer

Top Contributor
Du willst das Programm aber nur einmal starten... aber die run Methode öfter parallel laufen lassen?

zb sowas

Java:
import java.util.Random;

public class Test implements Runnable {

	private int id;
	private int count = 0;
	Random rnd = new Random();

	public Test(int id) {
		this.id = id;
	}

	@Override
	public void run() {
		while (count < 15) {
			System.out.println(id + " läuft " + count);
			count++;
			try {
				Thread.sleep(rnd.nextInt(1000) + 500);
			} catch (InterruptedException e) {
			}
		}
		System.out.println(id + " ist fertig");
	}

	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			System.out.println("Starte " + i);
			new Thread(new Test(i)).start();
		}
		System.out.println("alles gestartet");
	}

}
 

Ethernut

Mitglied
Ich habs so gelöst, dass ich meinen Client einfach nocheinmal mit anderen Parametern aufrufe...

Leider weiß ich nicht warum dann beide in das selbe Kommandozeilenfenster gelangen...

Also ich sehe die Ergebnisse beider Threads im selben...???:L
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Mehrmaliges ausführen verhindern Java Basics - Anfänger-Themen 10
H Mehrmaliges vorkommen eines Zeichens in einem String Java Basics - Anfänger-Themen 14
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C 2 SwingWorkers nacheinander ausführen Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
Jose05 ausführen im cmd schlägt fehl Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
T src Ordner ausführen Java Basics - Anfänger-Themen 9
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
F Shell Script ausführen Java Basics - Anfänger-Themen 5
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
L Shell Script ausführen in Java Java Basics - Anfänger-Themen 4
K Programm ausführen Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G sqlplus commands in java ausführen Java Basics - Anfänger-Themen 15
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
CptK Methoden Methode in MouseListner ausführen Java Basics - Anfänger-Themen 1
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
T Klassen 2 Klassen zeitgleich ausführen Java Basics - Anfänger-Themen 3
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
I Erste Schritte Native code library failed to load beim Ausführen eines Beispiels Java Basics - Anfänger-Themen 5
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
S Methoden Beim Start meines Projektes eine Methode ausführen Java Basics - Anfänger-Themen 14
V Methode eines Objekts einer ArrayList ausführen Java Basics - Anfänger-Themen 3
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
T Parallel ausführen Java Basics - Anfänger-Themen 1
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S .java Datei in java Datei ausführen Java Basics - Anfänger-Themen 9
X Schleife bis "Bedingung" ausführen Java Basics - Anfänger-Themen 13
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
H Classpath VBScript in Jar-archiv ausführen Java Basics - Anfänger-Themen 2
F Thread um Uhrzeit ausführen Java Basics - Anfänger-Themen 5
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
F Per Klick Klasse ausführen Java Basics - Anfänger-Themen 4
S Fehler beim Ausführen Java Basics - Anfänger-Themen 5
A Methode aus einer anderen Klasse ausführen Java Basics - Anfänger-Themen 7
F Methode alle 15min ausführen Java Basics - Anfänger-Themen 5
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
J Ausführen geht nicht Java Basics - Anfänger-Themen 19
K Tastaturkombinationen ausführen Java Basics - Anfänger-Themen 5
S URL Ausführen Java Basics - Anfänger-Themen 2
D Fehlermeldung beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 4
H Funktion in Hintergrund und Vordergrund ausführen Java Basics - Anfänger-Themen 11
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
V Algorithmus in einer Methode ausführen Java Basics - Anfänger-Themen 3
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
M Komplexe Datenauswertungen in Java oder besser auf Datenbankseite ausführen? Java Basics - Anfänger-Themen 4
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
I .lnk ausführen oder das Ziel auslesen Java Basics - Anfänger-Themen 7
L0MiN Datei lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
T kann methode nicht ausführen Java Basics - Anfänger-Themen 5
D main-Methode und Tread parallel ausführen Java Basics - Anfänger-Themen 0
F Problem bei eshop -> Ausführen einer Methode über eine Shopverwaltung Java Basics - Anfänger-Themen 6
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
F Glassfish APP über SSL ausführen Java Basics - Anfänger-Themen 0
0 Über CMD die JAVA Datei ausführen? möglich? Java Basics - Anfänger-Themen 8
M Ausführen rückgängig machen Java Basics - Anfänger-Themen 2
S Methoden Methode einer anderen Klasse ausführen? Java Basics - Anfänger-Themen 6
G Erste Schritte Timer: In einem festgelegten Intervall eine Methode ausführen Java Basics - Anfänger-Themen 6
F alle 100ms Befehle ausführen Java Basics - Anfänger-Themen 26
K Klassen hintereinander ausführen Java Basics - Anfänger-Themen 7
D java Datei ausführen? Java Basics - Anfänger-Themen 4
W Erste Schritte Executable jar file ausführen: Programm Blast Java Basics - Anfänger-Themen 2
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
J Befehle aus anderen Klassen ausführen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben