Threads Threads & Processe: destroy & restart

specialize

Bekanntes Mitglied
Hallo,
Ich hab einen Process, der mit einem Thread ausgelesen wird.
Dann schließe (destroy) ich den Process, und schließe den Stream.

Wenn ich den Process jedoch dann wieder aufrufen will bekommen ich java.lang.IllegalThreadStateException

class:
Java:
Thread th1 = new Thread(this);
	ProcessBuilder prcb1 = new ProcessBuilder("java", "-jar", "selenium-server20rc3.jar");	
	Process prc;


Thread:
Java:
public void run(){
	try{
				
		BufferedReader in = new BufferedReader(
		new InputStreamReader(prc.getInputStream()));				
		String line=null;		
		while ((line = in.readLine()) != null)				
			{
			line = in.readLine();
			ta_s.setText(ta_s.getText()+line +"\n");
			ta_s.setCaretPosition(ta_s.getText().length());			
			}
		System.out.println("Thread closed");
		in.close();
		}	
	catch(Exception e) {
			System.out.println(e);
		}
	}

Starten
Java:
			prcb1.directory(new File(currentDir+"\\src\\Data\\System"));
			prc = prcb1.start();			
			th1.start();

Schließen
Java:
				prc.destroy();
				th1.interrupt();

Bitte um Hilfe!
 
Ein Thread darf nur einmal gestartet werden. Danach ist er ungültig.
Du musst also einen neuen Thread anlegen.

Mach aus deinem Thread ein Runnable und starte diese dann in je einem neuen Thread.
 
Puh danke mal für deine Antwort, wie schaut das dann aus?
Ok habs nun wie folgt gemacht:

Starten
Java:
Thread th1 = new Thread(this);
			prcb1.directory(new File(currentDir+"\\src\\Data\\System"));
			prc = prcb1.start();			
			th1.start();
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben