在java中設計web應用程序時,何時需要webapp中的單線程模型?任何人都可以在webapp中詳細說明單線程模型嗎?
1
A
回答
5
幾乎總是應該避免使用單線程模型。 (我假設你正在談論接口SingleThreadModel
)。基本上它是爲了避免人們考慮併發性而引入的,但這不是一個好主意。併發是Web應用程序固有的 - 引入像單線程模式這樣的瓶頸是錯誤的解決方案。正確的解決方案是讓開發人員更好地瞭解併發性,並引入更好的構建塊來處理它。
接口被棄用了Java Servlet API 2.4,與此注:
注意SingleThreadModel並沒有提供 解決所有的線程安全問題。對於 例如,會話屬性和靜態變量 仍然可以通過在多個線程 多個請求同時訪問,即使使用 了SingleThreadModel的servlet。 建議顯影劑 採取其他手段來解決,而不是實現此 接口,如避免使用一個實例變量的 或 同步訪問這些資源的代碼 的塊那些 問題。這個 接口在Servlet API 版本2.4中已棄用。
1
當你的Servlet有狀態(這是一個壞主意),並且你想要防止多個請求踩在他們自己的腳趾(或數據)上。
我會建議你避免它,因爲在某些時候你會搞砸了。此外,性能下降就像一塊磚頭。
1
servlet的單線程模型用於表示servlet無法處理來自客戶端連接的多個併發線程。將servlet設置爲單線程模型會導致servlet容器(應用程序服務器)爲每個客戶端創建一個servlet實例。
最好的做法是而不是使用servlet的單線程模型。每個客戶端連接保存的數據通常存儲在客戶端會話對象中。
相關問題
- 1. 圖像滑塊代碼,任何人都可以詳細說明
- 2. 我不明白for循環中的聲明!任何人都可以詳細說明這一點嗎?
- 3. 任何人都可以幫助詳細說明Python教程中的這一段嗎?
- 4. 任何人都可以詳細描述如何在eclipse中設置javasci(SCILAB)嗎?
- 5. 任何人都可以說明「onOptionsItemSelected」的返回嗎?
- 6. asp datalist任何人都可以詳細解釋
- 7. 別名類型中的詳細說明類型說明符
- 8. 什麼是IBM Worklight?任何人都可以向我詳細解釋一下嗎?
- 9. 任何人都可以向我詳細解釋這個正則表達式嗎?
- 10. 任何人都可以詳細解釋這行代碼的作用嗎?
- 11. 任何人都可以舉例說明tensorflow中tf.contrib.metrics.streaming_mean_iou的工作原理嗎?
- 12. 任何人都可以解釋說明中提到的邏輯嗎?
- 13. 「模板」和Verilog中的詳細說明?
- 14. GCC詳細模式輸出說明
- 15. 任何人都可以在webapps中幫助緩存過程嗎?
- 16. 任何人都可以解釋OAuth嗎?
- 17. 任何人都可以幫助我嗎?
- 18. 任何人都可以處理它嗎?
- 19. 任何人都可以糾正它嗎?
- 20. Tensorflow tf_strided_slice詳細說明
- 21. 請詳細說明下面的程序
- 22. 任何人都可以提供有關rgbx8888格式的詳細解釋?
- 23. 任何人都可以解釋我的django博客代碼(詳細內部)
- 24. 任何人都可以描述什麼是Twitter的詳細流api限制?
- 25. 詳細類型說明符中的類型依賴嵌套名稱說明符
- 26. Gprof可以更詳細嗎?
- 27. 任何人都可以描述範圍的流程流程嗎?
- 28. 如何在yii中集成timepicker插件和datepicker?任何人都可以一步一步說明嗎?
- 29. 任何人都可以幫助我理解我的程序的線程嗎?
- 30. Javascript原型怪癖 - 任何人都可以解釋一下嗎?
你需要更具體。 – jrharshath 2010-01-06 09:23:13