Estás en:   ArielOrtiz.info > Programación multinúcleo > Implementación de un pool de threads en Java

Implementación de un pool de threads en Java

Objetivos

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.

Descripción de la actividad

Esta práctica puede ser elaborada de manera individual o en parejas.

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.

Descripción general del pool: 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.

¿Qué se debe entregar?

En la parte superior de los archivos fuente de Java coloca en comentarios los datos personales de los autores. Por ejemplo:

/*-------------------------------------------------------------------
 * Práctica 2: Implementación de un pool de threads en Java
 * Fecha: 07-Feb-2014
 * Autores:
 *          1166611 Pepper Pots  
 *          1160611 Anthony Stark
 *-------------------------------------------------------------------*/

Coloca en un archivo tarball llamado practica2.tgz todos los archivos fuentes de tu programa. Esta práctica no requiere reporte.

Sube el archivo tarball usando el Sistema de Entrega de Tareas Automatizado.

La fecha límite es el viernes, 7 de febrero, antes de la clase.

Evaluación

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.