如果servlet实现单线程模型干扰,servlet容器如何确保servlet一次只处理一个请求?甚至单线程模型接口也没有方法。谢谢。
答案 0 :(得分:2)
servlet容器创建一个servlet实例池,并跟踪当前“正在使用”的实例。如果在新请求进入时所有实例都“正在使用”,则容器可以等待现有实例变为空闲,或者创建新实例来处理请求。
单线程模型虽然没有被广泛使用 - 最好使servlet本身无状态,并允许同时处理多个请求。
答案 1 :(得分:1)
我们的想法是不依赖SingleThreadModel来处理线程问题。由于servlet容器没有强制要求绑定到singlethreadmodel契约,因此建议不要依赖容器来实例化多个servlet实例。
答案 2 :(得分:0)
它依赖于实现。它可以创建servlet实例池,否则它只能有一个servlet实例并同步对它的访问。后者导致更多的争论。
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/SingleThreadModel.html