Hi, ich beschäftige mich zur Zeit mit Multithreading und Webservern. Hab aber damit noch sehr wenig Erfahrung. Also, ich programmiere aus Lernzwecken ein kleines Browsergame und möchte das mein Kampfsystem auf mehreren Threads läuft. Ich benutze einen Glassfish Server, welcher mehrere Servlets beinhaltet, die die Berechnungen durchführen sollen. Dabei hab ich vor kurzem gelesen, dass Servlets selbst einen eigenen Thread entsprechen.
Deswegen mein Problem:
User A ruft einfach eine einfache Seite auf (Servlet HelloWorld), die quasi nur statischen Content zurückliefert.
User B und kurz darauf User C haben zuvor eine Kampfberechnung (Servlet Fight) gestartet.
Muss User A jetzt warten, bis dieser Kampf vorbei ist, bevor seine Anfrage beantwortet wird?
Oder läuft jeder Servlet als eigener Thread und User C muss nur auf die Fertigberechnung von User B warten? Oder muss niemand warten, weil der Glassfish Thread Pool jeden einen eigenen Thread für die Connection zuweist?
Oder müssen alle warten?^^ Und wenn ja, benötige ich dann eigene Threads um das Kampfsystem "abgekabselt" zu berechnen, damit einfache Requests schneller dran kommen?
Ich blick mich grad gar nicht durch^^.
Edit: Das natürlich auf einen Mehrkernsystem.
lg Sandler
Deswegen mein Problem:
User A ruft einfach eine einfache Seite auf (Servlet HelloWorld), die quasi nur statischen Content zurückliefert.
User B und kurz darauf User C haben zuvor eine Kampfberechnung (Servlet Fight) gestartet.
Muss User A jetzt warten, bis dieser Kampf vorbei ist, bevor seine Anfrage beantwortet wird?
Oder läuft jeder Servlet als eigener Thread und User C muss nur auf die Fertigberechnung von User B warten? Oder muss niemand warten, weil der Glassfish Thread Pool jeden einen eigenen Thread für die Connection zuweist?
Oder müssen alle warten?^^ Und wenn ja, benötige ich dann eigene Threads um das Kampfsystem "abgekabselt" zu berechnen, damit einfache Requests schneller dran kommen?
Ich blick mich grad gar nicht durch^^.
Edit: Das natürlich auf einen Mehrkernsystem.
lg Sandler
Zuletzt bearbeitet: