Typically, a servlet class is instantiated the first time it is invoked. The same instance will be used over several client requests, so all members that are declared in that servlet are shared accross clients.
That is what is meant by multi threaded model, multiple clients that access the same instance. There are situations where you want to protect your servlet member variables from being modified by different clients.
In this case, you can have your servlet implement the marker interface SingleThreadModel. Every time a client makes a request to a servlet that implements this interface, the engine will create a new instance of the servlet.
For performance reasons, the engine can also maintain a instance pool, handing out instances as they are needed. Or it could also serialize client requests, executing one after another.
Submitted By: Arvind joshi ( ari_joshigeit @ yahoo . com )
There is no such interface as MultiThreadedModel. Servlets are intrinsically multithreaded. This means a single instance can be accessed by more than one thread.
If the container receives multiple requests for one servlet simultaneously, the service () method of that servlet will be executed concurrently in multiple threads
If a servlet implements the SingleThreadModel interface, the container will not execute the service () method in more than one thread simultaneously.
The servlet container may synchronize access to a single instance of the servlet.
However, servicing requests sequentially seriously hurts performance. To avoid the performance problem, a servlet container may create multiple instances of the servlet class.
Posted by: prakash
That is what is meant by multi threaded model, multiple clients that access the same instance. There are situations where you want to protect yourservlet member variables from being modified by different clients.
Posted by: sreedevi
two servlets acted in the server side process
Posted by: siva
if the servlet implements multi threaded model,container executes service() method concurrently in multiple threads.
while in single threaded model,
container executes service() method only once per thread at a time other requests are in waiting
Posted by: vaibhav
Servlet is not thread safe.we need to make it is threadsafe we can goto SINGLE INSTANCE MULTIPLE THREADS MODEL.
As the model itself it is giving difference.
when you install your application in to server container create only one object.If any nuber reguests comes it is used only that object addtional each request one thread is extra created.
Posted by: venkateswara reddy gunapati
Contact venkateswara reddy gunapati
in multi threaded model multiple threads are acting on the service method concurrently, where as in single thred model only one thread will execute the service method,while the remaining threads are waiting
Posted by: suresh
two servlets are running in the server side process
Posted by: maruthuprakash
If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
- There should not be any Spelling Mistakes.
- There should not be any Gramatical Errors.
- Answers must not contain any bad words.
- Answers should not be the repeat of same answer, already approved.
- Answer should be complete in itself.