2012-04-24 15 views
8

Có người nói với tôi rằng bạn không nên bắt đầu chủ đề riêng của bạn từ một webapp chạy dưới Tomcat (hoặc bất kỳ container khác, có lẽ)đề bắt đầu dưới Tomcat

Runnable myRunnable = new Runnable() { 
    public void run() { 
    System.out.println("I'm running"); 
    } 
} 

new Thread(myRunnable).start(); 

Hoặc tương tự:

ScheduledThreadPoolExecutor retrySchedulerService = new ScheduledThreadPoolExecutor(3); 
retrySchedulerService.schedule(dlrRetryTask, 120, TimeUnit.SECONDS); 

Thay vì một trong hai bên trên, bạn phải yêu cầu một luồng từ một số nhóm các chủ đề mà Tomcat biết. Có bất kỳ sự thật cho điều này, hoặc là nó poppycock utter?

Trả lời

8

Hãy bắt đầu chủ đề của riêng bạn, nhưng hãy nhớ dừng chúng khi ứng dụng dừng lại. Tomcat có hồ bơi riêng của mình, được sử dụng để xử lý các yêu cầu gửi đến. Tôi không nghĩ rằng đó là một ý tưởng tốt để sử dụng nó, ngay cả khi bạn quản lý để có được quyền truy cập vào nó.

Nói chung, việc thực hiện các chủ đề trong môi trường Java EE là không tốt, nhưng không có gì xấu khi bắt đầu các luồng trong một thùng chứa servlet như Tomcat.

Các vấn đề liên quan