I'm not sure I understand the question. A servlet container
does use threads, one per request. I recall reading about tests that showed that a single
Tomcat instance using the NIO connector is able to handle thousands of requests per second (actually something between 10000 and 20000, if memory serves). If you need to be able to handle a million simultaneous requests that do a significant amount of work (like serious computation or accessing some other machine like a DB), you'll probably want to put in place a few hundred load-balanced machines.