blog de ezamudio

Thread Pools en Java 1.5 / 1.6

Algo nuevo que apareció en Java 5 y no he visto que se le haga mucha promoción, cuando es algo muy útil, son los thread pools. El paquete java.util.concurrent define varias clases para usarse en ambientes de alta concurrencia (es decir, muchos threads realizando tareas simultáneamente, incluso teniendo acceso a los mismos recursos).
En este artículo describo las ventajas de los distintos tipos de thread pools, así como la manera de utilizarlos.

Antes
Un escenario común en algunas aplicaciones de alta concurrencia es por ejemplo estar recibiendo mensajes o peticiones de un sistema externo, o de usuarios del sistema, etc. Dichas peticiones se deben atender tan pronto como sea posible. Las opciones son:

  1. Procesar cada tarea en un thread nuevo
  2. Procesar todas las tareas de manera secuencial en un thread

ISO-8583 en Java

Para inaugurar mi blog, hablaré de un proyecto de software libre que tengo: j8583, también conocido como Java-ISO8583. Es una implementación semi-abstracta del protocolo transaccional de comunicación ISO-8583, que puede ser algo complicado y/o tedioso de implementar. UPDATE: Aquí he puesto una breve descripción en español.

ISO8583 es un protocolo transaccional de comunicación, muy utilizado en bancos, también se usa con puntos de venta (las terminales de tarjeta de crédito por ejemplo), y últimamente también se está usando para transaccionar con carriers de telefonía celular. No voy a entrar a detalle en el protocolo como tal. Se puede obtener (pagando) del sitio de ISO.

Para poder utilizar esta librería, se requiere conocer el protocolo en sí. Tiene licencia LGPL, de modo que se puede usar en aplicaciones comerciales cerradas; si hacen una aplicación que se redistribuye (software que venden, etc) solamente deben entregar los fuentes de la librería, junto con cualquier modificación que le hagan.

Distribuir contenido