Ist es für ein Java-Servlet sicher, Threads zu erzeugen, um eine Anforderung zu erfüllen?

Ist es für meinen Java-Webserver (Tomcat 8) sicher, Threads als Antwort auf eine HTTP-Anforderung zu erzeugen? Ich sehe Posts und Foren, in denen einige Leute sagen, dass es @ isvöllig o und andere sagennicht zu tun.

Mein Anwendungsfall wäre etwa so:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ...
    ...
    final MyResult res = new MyResult();
    Thread first = new Thread(new Runnable() {
         @Override
         public void run() {
             // put this into res
         }
     });
     Thread second = new Thread(new Runnable() {
         @Override
         public void run() {
             // put that into res
         }
     });
     first.start();
     second.start();
     first.join(10000);
     second.join(10000);

     // return res
 }

Wenn ich sicher sage, meine ich, ist irgendetwas an dem, was ich in Bezug auf die Stabilität des Webservers vorschlage, von Natur aus gefährlich? Wie @Burrman betont, ist ein Thread-Pool hier eine gute Idee, und das werde ich tun. Wenn ich einen Thread-Pool verwende, gibt es dann noch andere potenzielle Probleme mit dem Servlet-Container, um die ich besorgt sein sollte oder die ich beheben muss?

Ich denke, ich denke zum Beispiel über JDBC-Verbindungen nach. Ich glaube, es wird empfohlen, dies mithilfe von JNDI-Ressourcen usw. einzurichten und dies mit Tomcat-Konfiguration zu konfigurieren. Ist so etwas notwendig oder empfehlenswert, um beliebige Threads wie in meinem Beispiel zu erzeugen?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage