Reputation: 39374
If a servlet implements Single thread model interference ,How servlet container ensure that servlets handle only one request at a time ? Even single thread model interface has no methods too.Thanks.
Upvotes: 3
Views: 2469
Reputation: 58
The idea is not to rely on SingleThreadModel to take care of threading issue. As it is not mandated for servlet containers to bind to the singlethreadmodel contract, it is advisable not to rely on the container to instantiate multiple instances of servlets.
Upvotes: 1
Reputation:
It's implementation-dependent. It can create the pool of servlet instances or else it can just have a single servlet instance and synchronize access to it. The latter leads to more contention.
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/SingleThreadModel.html
Upvotes: 0
Reputation: 1501003
The servlet container creates a pool of servlet instances, and keeps track of which instances are currently "in use". If all of the instances are "in use" when a new request comes in, the container could either wait for an existing one to become free, or create a new instance to handle the request.
The single thread model isn't widely used though - it's better to make the servlet itself stateless, and allow several requests to be handled simultaneously.
Upvotes: 2