Opa, calma-la amigo!

Vc nao deve criar threads dentro de servlets, uma vez que em um ambiente em cluster seria impossivel garantir que o estado das app seriam o mesmo, logo isso nao eh recomendado.
Se na sua app existir um cenario onde alguma operacao pode ser assincrona, ou seja, nao se necessita da resposta imediatamente, seria aconselhavel que vc montasse sua arquitetura usando JMS e MOM (Message Oriented Middleware):
A coisa funcionaria assim:
- a requisicao chega na Servlet e a Servlet coloca uma mensagem em uma fila JMS, dentro dessa mensagem tem um objeto que identifica a operacacao a ser efetuada. Depois disso a Servlet direciona para um jsp informando que a requisicao foi efetuada.
2.a) se vc estiver usando ejb 2.0 podera usar o MDBs, eles funcionam como listeners, quando uma mensagem cai na fila que o mdb ta escutando ele processa a mensagem!
2.b) se vc nao estiver usando ejb 2.0 ou se nao estiver usando ejb vc pode utilizar o pattern j2ee service activator, com ele vc pode criar um classe java normal para trabalhar como listener, quando uma mensagem cai na fila que um objeto dessa classe esta escutando, ele processa a mensagem, e pode chamar ejbs ou fazer consultas no db.
http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceActivator.html
Abraco,