Java - Mehrere Selektoren in mehreren threads für nicht blockierende sockets

Ich Schreibe eine Java Anwendung, mit der Objekte instanziieren einer Klasse repräsentieren Kunden, die angeschlossenen und registrierten mit einem externen system auf der anderen Seite meiner Anwendung.

Jedes client-Objekt hat zwei verschachtelte Klassen innerhalb es, stellvertretend für front-end und back-end. die front-end-Klasse werden kontinuierlich Daten empfangen, die aus den tatsächlichen client, und senden Sie Hinweise und Daten an den back-end-Klasse, die die Daten vom front-end aus und senden Sie es an das externe system in das richtige format und Protokoll, das system erfordert.

In der design -, wir sind auf der Suche, um jede einzelne Instanziierung von einem client-Objekt einen thread. Dann, in jedem thread wird natürlich mit zwei sockets [BEARBEITEN]mit Ihren eigenen NIO-Kanäle[/EDIT], die eine client-Seite, einem system-Seite, die Ihren Wohnsitz in der front - und back-end-bzw. Jedoch, dies stellt nun die Notwendigkeit von nicht blockierenden sockets. Ich lese das tutorial hier, die erklärt, wie man sicher verwenden Sie einen Selektor in der Haupt-thread für den Umgang mit allen threads mit verbindungen.

Aber, was ich brauche, sind mehrere Selektoren-jede in Ihrem eigenen thread. Aus der Lektüre der oben genannten tutorial habe ich gelernt, dass der Schlüssel-sets in einem Selektor sind nicht threadsicher. Bedeutet dies, dass getrennte Selektoren, von denen im eigenen repsective threads erstellen können widersprüchliche Schlüssel, wenn ich versuche, geben Sie Ihnen jeweils Ihre eigenen paar Steckdosen und Kanäle? Bewegen Sie den Wählschalter, bis der Haupt-thread ist eine leichte Möglichkeit, aber weit vom ideal auf Basis der software-Anforderungen, die ich bereits gegeben habe. Danke für Eure Hilfe.

Schreibe einen Kommentar