Threads
-
Hallo zusammen,
ich kämpfe gerade mit dem Problem, das ich ein Programm habe, in dem mehrere Thread laufen. Auf die Threads kann ich mit Hilfe von Instanzen zugreifen.
Nun möchte/muss ich eine Eingabe, die in einem Thread gemacht wird, auf alle verteilen... Nur leider habe ich keine Ahnung wie das gehen soll, da ich Anfänger in diesem Bereich bin.
Bin für jede Hilfe sehr dankbar...
-
Nun möchte/muss ich eine Eingabe, die in einem Thread gemacht wird, auf alle verteilen...
Kannst du das mal genauer beschreiben?
-
Allgemein geht es um einen Chatserver, den ich realisieren muss... habe aber nur die Möglichkeit Threads einzusetzen, irgendwelche classen, die es vielleicht schon bei Java vorhanden sind, darf ich nicht einsetzen.
Derzeit sieht es so aus, das ich mit Hilfe von ServerSocket das Grundgerüst aufbaue. Bei Anfragen von Klient wird dann über Socket.accept() ein Thread gestartet, der die speziellen Anfragen des Klients beantwortet. Das EchoPrinzip läuft ohne Probleme, das was der Klient zum Server sendet, wird zu ihm wieder zurück gesendet.
Nur um einen ChatServer zu realisieren, muss ich die Texte von einem angeschlossenen Klients an alle anderen Klients senden. Da liegt jetzt mein Problem, denn ich weis nicht, wie ich von dem einen Thread auf einen anderen Thread zugreife und ggf. eine Methode von diesem ausführe...
-
Im allgemeinen kennen sich Threads nur selten. Oft wird das Problem der Verteilung von Nachrichten an unterschiedliche Threads so gelöst, dass man eine zentrale Klasse (Container, Server) erzeugt, den die Threads kennen und
a) von dieser Klasse benachrichtigt werden (es gibt was für dich)
b) die Threads im Poll-Mechanismus anfragen (hast du was für mich?)Ich würde (a) empfehlen - das verhindert Last auf Client-Seite.
-
das prinzip klingt logisch.
kannst mir vielleicht noch ein hinweis für ne hilfe oder ne website, auf der das etwas näher erklärt wird geben...
danke