在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. 任何人都可以详细描述如何在eclipse中设置javasci(SCILAB)吗?
- 3. 任何人都可以说明“onOptionsItemSelected”的返回吗?
- 4. 任何人都可以向我详细解释这个正则表达式吗?
- 5. 任何人都可以举例说明tensorflow中tf.contrib.metrics.streaming_mean_iou的工作原理吗?
- 6. “模板”和Verilog中的详细说明?
- 7. Tensorflow tf_strided_slice详细说明
- 8. 任何人都可以帮助我吗?
- 9. 任何人都可以解释OAuth吗?
- 10. 任何人都可以纠正它吗?
- 11. 请详细说明下面的程序
- 12. 任何人都可以提供有关rgbx8888格式的详细解释?
- 13. 任何人都可以描述什么是Twitter的详细流api限制?
- 14. 任何人都可以描述范围的流程流程吗?
- 15. 更改字段以详细说明每个单词
- 16. 在Codeigniter中使用SMTP发送详细说明以及附件
- 17. 任何人都可以解释在openGL中使用顶点创建弧线吗?
- 18. 任何人都可以在VS2012的C++/CLI中使用System.Windows.Input.ICommand吗?
- 19. 任何人都可以在C中解释这个结构吗?
- 20. 任何人都可以在c中帮助我吗?
- 21. 任何人都可以在Delphi或FreePascal中指向AMF库吗?
- 22. 线程同步,任何人都可以给我算法?
- 23. 任何人都可以告诉我有关Gensim使用的模型(skipgram/CBOW)吗?
- 24. 任何人都可以解释线程监视器并等待吗?
- 25. 任何人都可以加快我的MySQL存储过程吗?
- 26. C编程,任何人都可以解释这一点吗?
- 27. 任何人都可以解释这个程序的输出吗?
- 28. 任何人都可以告诉这个logcat说什么?
- 29. 任何人都可以点我在Angular2
- 30. 我可以在manyToMany自动生成的模型中指定详细名称吗?
你需要更具体。 – jrharshath 2010-01-06 09:23:13