Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

single thread or multi thread ?

 
sim sim
Ranch Hand
Posts: 55
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I have been asked this question in an interview. With respect to servlets when do I go for multithreaded programming or single threaded.
Sim Sim
 
Dakshinamurthy Ramachandran
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Basically servlets are multithreaded by design. Meaning single object instance of servlet will serve all the clients. In a specific scenario, when you expect concurrency will affect the integrity of data, you can go for single threaded servlet by implementing Single Thread Model interface.
Hope this answers your question.
Cheers
Murthy
 
sarah Marsh
Ranch Hand
Posts: 282
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is this correct? Single Thread Model has the impact on performance.
 
Brahim Bakayoko
Ranch Hand
Posts: 155
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, single thread model criples performance as the servlet has to complete servicing a request before servicing another one (it can't service more than one request at a time).
However, this does not mean that only one servlet will be loaded. The most common behavior is for the servlet container to instantiate more than one instance of the servlet each for servicing a particular request. This kills performance as every instance has to be initialized and then destroyed for every request without counting the effect of many instances loaded in memory. If you have thousands of such instances, your server will take a hit.
Synchronization will still be an issue if those instances have to access common external (external to the servlet) resources.
[ February 05, 2004: Message edited by: Brahim Bakayoko ]
 
danny liu
Ranch Hand
Posts: 185
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Single Thread Model degrade the servlet performance dramatically, it is just
a reference Model for Multithreaded Model.
In reality, it is not much of use.
Pay attention to the following synchronization issues when you write a multithreaded servlet service:
a. access servlet instance variables
b. access session shared data
c. access application shared data
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic