Frage

Die Java NIO Socket-Framework- angeblich versteckt die schmutzigen Details von non-blocking IO von Entwicklern, so dass sie hoch skalierbare Anwendungen erstellen, die nur einen Thread mit über 10000 ein- und ausgehende Buchsen verarbeiten können.

  • nicht blockierende IOs noch ein Schmerz mit der typischen Version von Java 2 SE / EE ist?

  • Ist dieser Rahmen noch notwendig und sinnvoll?

Vielen Dank für Ihre Zeit.

War es hilfreich?

Lösung

Nun, schafft NIO eine Abstraktion über einige der Details, sicher. Nicht blockierende IO ist immer noch ein Schmerz Ihren Kopf um (zumindest finde ich es), aber zumindest ist es machbar. (Ich persönlich bevorzuge den .NET-Stil asynchroner IO, aber das ist eine andere Sache.)

I in der Regel Verwendung IO blockiert: für die meisten Aufgaben, das alles ist, die ich benötige, und ich würde durch die Verwendung nicht-blockierende IO nicht signifikant gewinnen. In einigen Fällen (wie die, die Sie erwähnt) nicht blockierende IO ist wirklich der einzige Weg nach vorne, wenn Sie Ihren Faden nach unten halten wollen.

Ich empfehle, dass man darüber lernen, mit ihm zu spielen, und dann Urteil zu entscheiden, wenn es um den Einsatz in Produktionscode. Ich würde nicht empfehlen, beginnen, es zu benutzen überall ...

Andere Tipps

Ja, NIO ist sehr nützlich. NIO ist auch ein bisschen hart zu arbeiten. Je nach Bedarf können Sie mit Frameworks berücksichtigen, die NIO wickeln, wie Grizzly oder mina . Grizzly ist die Vernetzung Teil Glasfischen appserver von Sonne Oracle.

Mina ist ein Netzwerk-Anwendungs-Framework von Apache.org.

Persönlich bevorzuge ich Grizzly, aber das ist nur meine Meinung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top