top of page

Los hilos (threads) en una JSP

Cuando se solicita una página JSP por primera vez, el motor JSP genera un servlet correspondiente a la página (se le llama instancia de la JSP). La instancia de la JSP se guarda en la memoria del servidor. Si la JSP contiene código Java, también se inicia lo que se llama un hilo (thread). Posteriormente, cada que hay otra petición de la página, se utiliza la instancia de la JSP y además, se crea otro hilo por cada nueva petición de la página, como se ilustra en la Figura IV-1.

img1.jpg

Las variables globales se guardan en la instancia de la JSP, y se declaran dentro del tag <%! %>. Las variables locales se crean para cada thread, y se declaran dentro de un scriptlet. Por ejemplo, en el siguiente código se declara una variable global que lleva la cuenta de las peticiones que se han hecho sobre la página.

Para comprender el código del ejemplo, recordemos que:

img4.jpg
img2.jpg

En la Figura IV-2 se observa que esta página se solicitó tres veces. Esta técnica puede fallar cuando dos computadoras solicitan la página JSP exactamente al mismo tiempo. Se le dice en inglés no thread-safe cuando se manejan la variable globales de esta forma. En este caso, no sería grave que se perdiera la cuenta. Para los casos en que es indispensable que no se pierda la cuenta, existen métodos más sofisticados para manejar variables globales de forma más segura (thread-safe).

img3.jpg

Departamento de Sistemas de Información                                                              Jefe de Oficina del Departamento

Instituto Tecnológico Metropolitano - ITM | Institución Universitaria                           Leonel Velasquez torres
Teléfono: (574) 460 07 27 Extensiones 5567 - 5554                                                 
Auxiliares Administartivas del Departamento
Calle 54 A # 30 - 01     Bloque L piso 3 oficina 303                                                   Luz Marina Montes  -  Diana Cristina Galeano

Medellín - Antioquia - Colombia                                                

                                                               Sitio elaborado por Jorge Hernan Suaza Jimenez

bottom of page