2012-04-24 2 views
8

Кто-то сказал мне, что вы не должны начинать свои собственные темы с веб-приложение работает под Tomcat (или любой другой контейнер, предположительно)исходные потоки под Tomcat

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?

ответ

8

Не стесняйтесь создавать свои собственные темы, но не забудьте остановить их, когда приложение остановится. Tomcat получил собственный пул thead, который используется для обработки входящих запросов. Я не думаю, что это хорошая идея использовать его, даже если вам удастся получить к нему доступ.

Как правило, не стоит начинать темы в среде Java EE, но ничего плохого в запуске потоков в контейнере сервлетов, таких как Tomcat.

Смежные вопросы