title: Why are EJBs thread safe and servlets not ?
body: <p>As per my understanding, a servlet container creates limited instances of servlets and multiple threads of each servlet instance and reuse those threads and instances.</p>
  
  <p>Because there are multiple instances of a thread, they are not "Thread-safe" (though I understand that coding them with Thread-safety is not difficult).</p>
  
  <p>EJBs containers on the other hand do not create threads of EJB, but reuse EJB objects only (using pool). Since there are no multiple threads of an EJB instance, there's no question of thread safety.</p>
  
  <p>My question: Why have different behavior? Is it not a good idea to make EJBs work as Servlets (thread unsafe)?</p>
  
  <p>I'm sure I'm missing something and want to understand that missing part.</p>