Los servlets HTTP normalmente pueden servir a m�ltiples clientes concurrentemente. Si los m�todos de nuestro servlet trabajan con clientes que acceden a recursos compartidos, podemos manejar la concurrencia creando un servlet que maneje s�lo una petici�n de cliente a la vez. (Tambi�n se puede sincronizar el acceso a los recursos, un punto que se cubre en al secci�n Threads de Control de este tutorial).
Para hacer que el servlet maneje s�lo un cliente a la vez, tiene que implementar el interface SingleThreadModel adem�s de extender la clase HttpServlet.
Implementar el interface SingleThreadModel no implica escribir ning�n m�todo extra. S�lo se declara que el servlet implementa el interface, y el servidor se asegura de que nuestro servlet s�lo ejecute un m�todo service cada vez.
Por ejemplo, el ReceiptServlet acepta un nombre de usuario y un n�mero de tarjeta de credito, y le agradece al usuario su pedido. Si este servlet actualizara realmente una base de datos, por ejemplo, una que siga la pista del inventario, entonces la conexi�n con la base de datos podr�a ser un recurso compartido. El servlet podr�a sincronizar el acceso a ese recurso, o implementar el interface SingleThreadModel. Si el servlet implementa este interface, el �nico cambio en el c�digo de la p�gina anterior es la l�nea mostrada en negrita.
public class ReceiptServlet extends HttpServlet implements SingleThreadModel { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... } ... }