为什么不建议使用(javax.servlet。)SingleThreadModel?


问题内容

为什么javax.servlet.SingleThreadModel不推荐使用?


问题答案:

javadoc中说为什么。SingleThreadModel被设计为低负载并发的一种简单解决方案,但它甚至无法解决:

请注意,SingleThreadModel不能解决所有线程安全问题。例如,即使使用SingleThreadModel
servlet,会话属性和静态变量仍然可以同时由多个线程上的多个请求访问。建议开发人员采取其他方法解决这些问题,而不要实现此接口,例如,避免使用实例变量或同步访问这些资源的代码块。

如果无法达到其设计目的,则不应使用它。