Durante esta actividad el alumno será capaz de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Toma el código fuente del servidor de web y añádele tu propia implementación de un pool de MAX_POOL_SIZE
threads. El pool es una estructura de datos FIFO (first-in first-out). El propósito de usar un pool de threads es evitar la creación y destrucción de un thread cada vez que llega una nueva petición de un cliente. Los threads deben ser creados una sola vez y, en lugar de dejarlos morir, reciclarlos de manera indefinida.
Esta es la descripción general de cómo debe funcionar el pool de threads: Al llegar una nueva petición, se toma el primer thread disponible en el pool y se utiliza para procesar la petición. Cuando el thread termine su procesamiento, se debe poner en estado de “wait” y colocarse al final del pool. Si en un momento dado llega una petición de un cliente y no existe un thread disponible en el pool, el thread principal debe responder con un código 503 Service Unavailable
.
En la parte superior de los archivos fuente de Java coloca en comentarios los datos personales de los autores. Por ejemplo:
/*-------------------------------------------------------------------- * * Actividad de programación: * Implementación de un pool de threads en Java * Fecha: 12-Feb-2013 * Autores: 1166611 Pepper Pots * 1160611 Anthony Stark * *--------------------------------------------------------------------*/
Coloca en un archivo tarball llamado tarea2.tgz
todos los archivos fuentes de tu programa.
Sube el archivo tarball usando el Sistema de Entrega de Tareas Automatizado.
Fecha límite: Martes, 12 de febrero.
Esta actividad será evaluada usando los siguientes criterios:
100 | La actividad cumple con todos los requerimientos. |
---|---|
-10 | No se incluyó en comentario los datos del autor. |
10 | El programa fuente produce uno o más errores al momento de compilarlo. |
50-90 | El programa funciona, pero produce algunos errores a tiempo de ejecución y/o los resultados no son del todo correctos. |
DA | La solución es un plagio. |