Hallo,
ich hätte eine Frage zur Thread- Programmierung, und zwar möchte ich bei meinem Server- Programm Daten von mehreren Quellen empfangen, also ich habe einen Server und mehrere Clients:
Ich bin jetzt gerade dabei, mir zu überlegen, wie ich das am Besten mache, dass ich die Threads für die Clients verwalte, eine Client- Kommunikation kann vom Server gestartet werden und auch wieder gestoppt.
Nun ist mir klar, dass man einen Thread nicht so leicht stoppen kann.
Meine Überlegung war jetzt, dass ich die einzelnen Client- Threads am Server in einer Liste speichere:
und beim Stoppen suche ich nach dem "uniqueNameDesThreads" des Threads, lösche diesen aus meiner Liste und rufe "th.interrupt()" auf, in der Hoffnung, dass dieser bald mal gestoppt wird.
Was haltet Ihr von diesem Vorgehen, seht Ihr da irgendwelche Unzulänglichkeiten?
Vielen Dank und lg,
Generic1
ich hätte eine Frage zur Thread- Programmierung, und zwar möchte ich bei meinem Server- Programm Daten von mehreren Quellen empfangen, also ich habe einen Server und mehrere Clients:
Code:
--> Client1
Server <--------------> Client2
--> Client3
....
Ich bin jetzt gerade dabei, mir zu überlegen, wie ich das am Besten mache, dass ich die Threads für die Clients verwalte, eine Client- Kommunikation kann vom Server gestartet werden und auch wieder gestoppt.
Nun ist mir klar, dass man einen Thread nicht so leicht stoppen kann.
Meine Überlegung war jetzt, dass ich die einzelnen Client- Threads am Server in einer Liste speichere:
Java:
final List<Thread> threads = new ArrayList<Thread>();
if(ss.accept()) {
Thread th = new Thread("uniqueNameDesThreads") {
public void run() {
...
}
};
threads.add(th);
th.start();
}
und beim Stoppen suche ich nach dem "uniqueNameDesThreads" des Threads, lösche diesen aus meiner Liste und rufe "th.interrupt()" auf, in der Hoffnung, dass dieser bald mal gestoppt wird.
Was haltet Ihr von diesem Vorgehen, seht Ihr da irgendwelche Unzulänglichkeiten?
Vielen Dank und lg,
Generic1