在Tomcat下启动线程

有人告诉我,您不应该从在Tomcat(或其他任何容器)下运行的Web应用程序启动自己的线程。

Runnable myRunnable = new Runnable() {

public void run() {

System.out.println("I'm running");

}

}

new Thread(myRunnable).start();

或类似地:

ScheduledThreadPoolExecutor retrySchedulerService = new ScheduledThreadPoolExecutor(3);

retrySchedulerService.schedule(dlrRetryTask, 120, TimeUnit.SECONDS);

您应该从Tomcat知道的某个线程池中请求一个线程,而不是上述任何一个。这有什么道理吗,还是完全是poppycock?

回答:

可以随意启动自己的线程,但是请记住在应用程序停止时将其停止。Tomcat有自己的thead池,用于处理传入的请求。我认为使用它不是一个好主意,即使您设法访问它也是如此。

通常,在Java EE环境中启动线程不是一个好习惯,但是在Tomcat之类的servlet容器中启动线程也不错。

以上是 在Tomcat下启动线程 的全部内容, 来源链接: utcz.com/qa/402661.html

回到顶部