Wir möchten unsere Clients vom Server trennen.
Wir haben also einige Nachrichten an die Sitzungen gesendet, die im Grunde einige Befehle wie "Schließen Sie sich selbst" enthalten l
Im Allgemeinen mache ich so etwas:
%Vor%Nun möchte ich ein paar Sekunden (sagen wir 5) für jede Sitzung geben, um geschlossen zu werden, bevor wir einige signerm kill-Methoden ausführen.
Was wäre der bevorzugte Weg:
Ausführen der Schleife mit einer Verzögerung von maximal 5 Sekunden für jede Session-Schließprozedur.
ODER
Starten Sie für jede Sitzung einen Thread, der diese Prozedur ausführt, sodass die Sitzungen gleichzeitig geschlossen werden sollten.
%Vor%Aktualisierung:
Ich merke, dass einige Benutzer fälschlicherweise zu viel auf das Wort "Session" aufgehört haben, das Problem ist überhaupt nicht das SessionHandling. Wenn ich eine abschließende Nachricht sende oder den Socket trenne ist egal. Das ist nicht das Problem.
Sie könnten das Wort Session mit UserThread ersetzen.
Das Problem, für das ich einen Rat brauche, ist: Das Schließen eines "UserThread" dauert einige Zeit, also warten Sie, bis jeder Thread geschlossen ist und gehen Sie zum nächsten, oder starten Sie für jeden UserThread einen eigenen, repsonsiblen Closing Thread, um alle Threads gleichzeitig zu bearbeiten.
Senden Sie die Sitzungsabschlussanforderung für alle Sitzungen, warten Sie fünf Sekunden und überprüfen Sie dann alle Sitzungen. Auf diese Weise kann die Sitzung geschlossen werden, ohne dass eine ganze Reihe neuer Threads gestartet werden muss.
Tags und Links java multithreading session