Procesamiento Único y Múltiple

En esta ocasión vamos a discutir las diferencias entre procesamiento único y múltiple, ventajas, desventajas y ejemplos sencillos de cada uno, ya que este tema a veces puede causar confusiones.

Las aplicaciones de hoy en día deben de seguir un estándar en cuanto a rendimiento y tiempos de respuesta. Las computadoras cuentan con más capacidad y la demanda sigue creciendo.

Debido a esto, muchos lenguajes de programación fueron diseñados pensando en poder utilizar los recursos al máximo y así brindar o facilitar la información requerida en el tiempo esperado.

JAVA es uno de esos lenguajes, ya que desde sus inicios, soporta múltiples procesos o multi hilos. De hecho, esta característica, junto con su portabilidad, es lo que lo hace tan atractivo todavía hoy en día.

Procesamiento Único

Imaginemos que estamos en un supermercado haciendo las compras del mes. Cuando hemos terminado nos aproximamos a las cajas para poder pagar por los productos que deseamos llevarnos a casa.

Sin embargo, sólo hay una caja disponible y nos percatamos que hay clientes esperando a ser atendidos y debemos esperar nuestro turno.

La siguiente imagen nos puede servir de referencia.

Ejemplo de procesamiento único

¿Cúal es el problema evidente al tener sólo una caja disponible para todos los clientes?

En primera estancia, el tiempo de espera de los clientes va a ser mayor, ya que sólo se puede atender a un cliente a la vez.

Además, solo se está utilizando una de las cajas disponibles, es decir, no se están aprovechando los recursos al máximo o de la mejor manera.

Ahora bien, no todo es tan malo, podríamos decir que existe un mejor control al atender a los clientes, ya que al tener sólo una caja, todos los recursos están enfocados en ese cliente únicamente.

Procesamiento Múltiple

Siguiendo con el ejemplo del supermercado, ¿qué pasaría si habilitamos 4 cajas en total?

Para empezar, se podrían atender a 4 clientes al mismo tiempo, es decir se reduce la espera de las personas que están en la fila.

Al tener las 4 cajas activas estamos aprovechando los recursos disponibles, ya que cada caja estaría ocupada con un cliente.

La siguiente imagen nos ilustra la situación.

Ejemplo de procesamiento múltiple

En efecto, al utilizar más cajas obtenemos muchas ventajas, pero también podemos perder el control sobre los clientes.

Por ejemplo, sería muy difícil de controlar qué productos lleva cada cliente, la cantidad, marcas, etc.

Es por esto que cuando utilizamos múltiples hilos es necesario asegurarnos de que se está haciendo de la manera correcta. Además de que la información que deseamos controlar sea accedida por un sólo proceso a la vez. Esto con el fin de garantizar la integridad de los datos y evitar bloqueos entre los diferentes procesos.

Muchos lenguajes indican que pueden utilizar múltiples hilos, sin embargo, algunas veces no es del todo cierto. Por lo que es mejor estudiarlos a profundidad en este tema para evitar problemas de diseño.

En otro artículo voy a indicar ciertas reglas que son necesarias para utilizar múltiples hilos en JAVA.

Recordá suscribirte aquí para recibir las últimas actualizaciones todas las semanas.

1 comment / Add your comment below

  1. Excelente aporte, el ejemplo es claro como el agua. Saludos Don Chunche. Aquí estoy poniendome a día. Gracias por compartir la sabiduría.

Leave a Reply

Your email address will not be published. Required fields are marked *