我們已經和同事們討論了在Java中使用web應用中的線程。是否鼓勵在Web應用程序中使用線程?
他們的觀點是,不建議在Java Web應用程序中使用線程,因爲它們不受容器管理。 一般來說,我可以這樣做,因爲線程可能會干擾容器。但是,如果不是Java EE應用程序,而是簡單的servlet-app,應該用什麼來代替它?
我們已經和同事們討論了在Java中使用web應用中的線程。是否鼓勵在Web應用程序中使用線程?
他們的觀點是,不建議在Java Web應用程序中使用線程,因爲它們不受容器管理。 一般來說,我可以這樣做,因爲線程可能會干擾容器。但是,如果不是Java EE應用程序,而是簡單的servlet-app,應該用什麼來代替它?
在webapp中使用線程本身不是問題。這取決於你爲什麼以及如何使用它們。特別是,如果您有1000個用戶,並且您爲每個用戶啓動一個線程,那麼您將使JVM屈膝。
但是,如果線程非常粗糙地啓動,那麼對於一組特定的用戶和用例,如果使用線程池來限制這些線程的數量,則不應該有任何問題。理解你在做什麼很重要。
另外,請確保不要將HttpServletRequest或HttpServletResponse對象傳遞給這樣的線程,因爲它們並不意味着被多個併發線程使用,並且一旦處理完請求就不會再使用它們。
在討論中使用線程的原因或上下文是什麼? –
在我們的例子中,我們有一個Web應用程序,需要定期檢查某個數據庫中的狀態,以更新其自己的數據庫。 – VasiliyL