Thread pro Verbindung vs-Reaktor-Muster (mit einem thread-pool)?

Möchte ich mal ein einfaches multiplayer-Spiel als Teil meiner C++ - learning-Projekt.

So, ich dachte, da bin ich bei ihm, ich möchte es tun richtig im Gegensatz zu nur immer-es-getan.

Wenn ich das richtig verstanden habe: Apache verwendet eine Thread-per-connection-Architektur, während nginx nutzt eine event-Schleife und dann widmet ein Arbeiter [x] für die eingehende Verbindung. Ich denke, nginx ist klüger, denn es unterstützt einen höheren Grad an Parallelität. Richtig?

Habe ich auch in diesem clevere Analogie, aber ich bin nicht sicher, ob es angewendet werden könnte, um meine situation. Die Analogie scheint auch sehr idealist. Ich habe selten gesehen, meine computer laufen auf 100% CPU (auch mit einer umptillion Chrome tabs öffnen, Photoshop und was-nicht gleichzeitig ausgeführt werden)

Außerdem, ich bin gekommen, über eine SO post (irgendwie verschwand es aus meiner Geschichte), wo ein user gefragt, wie viele threads verwendet werden soll, und eine der Antworten war, dass es vollkommen akzeptabel mit rund 700, auch bis zu 10.000 threads. Diese Frage wurde im Zusammenhang mit der JVM, aber.

So, lassen Sie uns schätzen, einen fiktiven user-base von rund 5.000 Nutzer. Welcher Ansatz sollte wäre die "gleichzeitige" ein?

  1. Einem Reaktor Muster alles in einem einzigen thread.
  2. Reaktor-Muster mit einem thread-pool (ungefähr, wie groß Sie schlage vor, den thread-pool werden soll?
  3. Erstellen einen thread pro Verbindung und dann die Zerstörung der thread die Verbindung schließt.

Gebe ich zu option 2 klingt nach der besten Lösung für mich, aber ich bin sehr grün in all dies, so dass ich vielleicht ein bisschen naiv und es fehlten einige offensichtliche Fehler. Auch, es klingt wie es sein könnte ziemlich schwer umzusetzen.

PS: ich überlege, mit POCO C++ Libraries. Was darauf hindeutet, alternative Bibliotheken (wie boost) ist in Ordnung mit mir. Allerdings sagen viele POCO-Bibliothek ist sehr einfach und sauber zu verstehen. Also würde ich bevorzugt verwenden, damit ich lernen kann, über die wies, was ich mit.

InformationsquelleAutor omninonsense | 2013-01-14
Schreibe einen Kommentar