Hintergrund - Threads

Status
Nicht offen für weitere Antworten.

Kaladial

Bekanntes Mitglied
moin

es geht um folgendes:
ich habe 5 com-ports mit denen ich gleichzeitig komunizieren will,
also hab ich mir gedacht ich schreib nen programm welches mehrere threads gleichzeitig aufmacht und an den coms lauscht oder mit ihnen interagiert...

also hab ich mein etwas älteren quellcode genommen und angepasst...
das problem: das war code der im vordergrund lief, heist wenn die threads gestartet sind kann man an der grafischen oberfläche nix mehr machen...

das war für das problem damals auch ok so, aber nun sollen die threads in den hintergrund und da arbeiten ...
wie muss ich meinen code umschreiben um das hinzubekommen?

hier der code:

aufruf:
Code:
		ScannerControl sc = new ScannerControl(comport, baudrate, datenbits, paritaet, stopbits, geraet, threadCounter);
		sc.scannerRead();


ScannerControl.java:
Code:
package ScanControl;

import java.net.InetAddress;
import java.util.Vector;

public class ScannerControl {
	
	private Vector<ScannerThread> threads = new Vector<ScannerThread>(); 
	private String comport[]; 
	private int baudrate[]; 
	private int datenbits[]; 
	private String paritaet[]; 
	private int stopbits[]; 
	private String geraet[]; 
	private int threadCount=0;
	
	public ScannerControl(String comport[], int baudrate[], int datenbits[], String paritaet[], int stopbits[], String geraet[] , int threadCount) {
		this.comport=comport;
		this.baudrate=baudrate;
		this.datenbits=datenbits;
		this.paritaet=paritaet;
		this.stopbits=stopbits;
		this.geraet=geraet;
		this.threadCount = threadCount; 
	} 

	synchronized public void scannerRead() { 
		for (int i = 0; i < threadCount; i++) { 
			ScannerThread thread = new ScannerThread(this, comport, baudrate, datenbits, paritaet, stopbits, geraet, i); 
			threads.add(thread); 
			thread.start(); 
		} 
		try { 
			this.wait(); // Stoppt bis notify aufgerufen wird 
		} catch (InterruptedException e) { 
			e.printStackTrace(); 
		} 
	} 

	public synchronized void removeThread(ScannerThread thread) { 
		threads.remove(thread); 
		if (threads.size() == 0) { 
			this.notify(); 
		} 
	} 

}

ScannerThread.java:
Code:
package ScanControl;

public class ScannerThread extends Thread {
	
	ScannerControl scanner;
	private String comport[]; 
	private int baudrate[]; 
	private int datenbits[]; 
	private String paritaet[]; 
	private int stopbits[]; 
	private String geraet[]; 
	int threadid; 

	public ScannerThread(ScannerControl scanner,String comport[], int baudrate[], int datenbits[], String paritaet[], int stopbits[], String geraet[] , int threadid) {
		this.scanner=scanner;
		this.comport=comport;
		this.baudrate=baudrate;
		this.datenbits=datenbits;
		this.paritaet=paritaet;
		this.stopbits=stopbits;
		this.geraet=geraet;
		this.threadid = threadid; 
	}
	
	public void run() { 
		try { 
			while (true) { 
				//System.out.println("threadid:"+threadid);
				//sleep(5000);
/*				if () { 
					break; 
				} 
				if () { 
				}*/ 
			} 
		} catch (Exception e){} 
		scanner.removeThread(this); 
	} 
}


thx für hilfe:)

mfg Kala
 

HoaX

Top Contributor
ScannerControl: Zeile 35: this.wait()

da wartest du doch explizit bis der gestartete Thread zu ende ist ... machs raus und feddisch
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Textfelder finden und im hintergrund ausfüllen? Netzwerkprogrammierung 3
I URL im Hintergrund laden Netzwerkprogrammierung 9
T TCP mit und ohne Threads Netzwerkprogrammierung 1
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
D Exception Handling bei In/Outputsockets in eigenen Threads Netzwerkprogrammierung 1
C Frage zu Threads & Server Netzwerkprogrammierung 4
K Threads closen und Sockets schliessen Netzwerkprogrammierung 5
J Threads & Streams Netzwerkprogrammierung 9
P RMI Threads die über RMI auf Datenbank zugreifen Netzwerkprogrammierung 2
S HTTP ServerSockets und Threads Netzwerkprogrammierung 5
B Sockets, Threads & Plugins Netzwerkprogrammierung 7
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
R Threads mit einem WebService Netzwerkprogrammierung 4
M Verständnisfrage zu RMI und Threads Netzwerkprogrammierung 2
L einfacher server ohne threads Netzwerkprogrammierung 4
A Threads auflisten und nacheinander ansprechen Netzwerkprogrammierung 6
C I/O - Synchronisation durch Threads in einem ChatClient Netzwerkprogrammierung 4
J Probleme mit Threads (Client terminiert) Netzwerkprogrammierung 4
P Threads einbinden Netzwerkprogrammierung 11
P RMI Callback (mit Threads?) Netzwerkprogrammierung 3
T RMI Threads und Synchronized Netzwerkprogrammierung 13
A Datenverteilung: Mehrere Threads verwenden? Netzwerkprogrammierung 4
S Threads beim Server koordinieren Netzwerkprogrammierung 5
L ClientServer mit 2 Threads Netzwerkprogrammierung 5
N Threads und Socketprogrammierung Netzwerkprogrammierung 4
G 1 Socket 2 Threads problem Netzwerkprogrammierung 13
K Problem mit Threads Netzwerkprogrammierung 3
S Threads bei Web Service sinnvoll oder Alternative? Netzwerkprogrammierung 2
G Socket Programmierung - Max. Threads Netzwerkprogrammierung 5
C NetScanner arbeitet trotz Threads langsam Netzwerkprogrammierung 6
L UDP-Server mit Threads Netzwerkprogrammierung 8
K Windows 10 Threads gleichzeitig Netzwerkprogrammierung 18
C Join von Threads bei I/O-Operation Netzwerkprogrammierung 6
F Threads synchronisieren mit Pipes Netzwerkprogrammierung 3
G benötige Beispiel für parallel ablaufende Threads Netzwerkprogrammierung 3
F Problem mit Threads und Sockets Netzwerkprogrammierung 3
TRunKX Threads beenden sich selber? Netzwerkprogrammierung 6
T Kleiner Chatserver: Threads oder Multiplex? Netzwerkprogrammierung 18

Ähnliche Java Themen

Neue Themen


Oben