0% encontró este documento útil (0 votos)
171 vistas10 páginas

Actividad 4. Programación de Hilos.

El documento describe una actividad de programación en Java que simula el proceso de cobro en un supermercado utilizando hilos. Se detalla la importancia de los hilos para la ejecución concurrente, mejorando el rendimiento y la capacidad de respuesta de las aplicaciones. Además, se incluyen instrucciones para codificar el programa, capturas de pantalla del código y resultados, así como ejemplos de la vida real donde se aplican hilos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
171 vistas10 páginas

Actividad 4. Programación de Hilos.

El documento describe una actividad de programación en Java que simula el proceso de cobro en un supermercado utilizando hilos. Se detalla la importancia de los hilos para la ejecución concurrente, mejorando el rendimiento y la capacidad de respuesta de las aplicaciones. Además, se incluyen instrucciones para codificar el programa, capturas de pantalla del código y resultados, así como ejemplos de la vida real donde se aplican hilos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN AVANZADA.

ACTIVIDAD 4. PROGRAMACIÓN DE HILOS.


02/05/2025

Objetivo:

Realizar la codificación de un programa que simula el proceso de cobro de un supermercado por medio del uso del
lenguaje de programación Java, para la utilización de hilos.

Tipo de actividad:
Ejercicio

Instrucciones:

1. Revisa los apuntes, así como las lecturas base y complementaria del bloque.

2. Realiza la codificación de un programa que simula el proceso de cobro de un supermercado utilizando hilos en Java,
por medio del entorno de desarrollo integrado NetBeans, disponible en el siguiente enlace
(https://netbeans.apache.org/download/index.html).

3. Utiliza el archivo de apoyo Hilos.zip, donde se muestran el código fuente del programa a realizar.

4. Considera los siguientes aspectos para el desarrollo de la actividad:

- Incorpora capturas de pantalla del código fuente en Java de todas las clases dentro del entorno de desarrollo
NetBeans, así como del resultado obtenido en la consola.

- Describe de forma clara el funcionamiento de todas las clases dentro del entorno de desarrollo NetBeans, así como del
resultado obtenido en la consola.

- El documento deberá incluir portada de presentación, introducción y conclusiones.

- En caso de utilizar fuentes de consulta externa, cita en formato APA.

5. Sube la evidencia de aprendizaje en el espacio indicado en la plataforma.

- Revisa el instrumento de evaluación para conocer los aspectos que se te serán evaluados.

Introducción.

En Java, un hilo (thread) es una unidad de ejecución dentro de un programa que permite la ejecución paralela de código.
Permite que un programa realice múltiples tareas simultáneamente, mejorando el rendimiento y la capacidad de
respuesta, especialmente en sistemas multinúcleo, se utilizan para ejecutar tareas concurrentes dentro de un mismo
programa. Esto permite que varias partes del programa se ejecuten simultáneamente, mejorando la eficiencia y el
rendimiento de la aplicación.
Desarrollo.

¿Qué es?

• Unidad de ejecución: Un hilo es una secuencia de instrucciones que se ejecutan de forma independiente dentro
de un programa.

• Concurrencia: Los hilos permiten que un programa ejecute diferentes partes de código de forma simultánea,
como si estuvieran trabajando al mismo tiempo.

• Subproceso ligero: Son más ligeros que los procesos, lo que significa que son más fáciles y eficientes de crear y
gestionar que los procesos.

¿Para qué sirve?

• Mejor rendimiento: La ejecución paralela de hilos puede mejorar el rendimiento de una aplicación,
especialmente cuando se realizan tareas que pueden ejecutarse de forma independiente.

• Capacidad de respuesta: Los hilos permiten que una aplicación sea más receptiva a las acciones del usuario,
incluso cuando se están realizando tareas en segundo plano.

• Simplificación del diseño: La concurrencia facilitada por los hilos puede simplificar el diseño de aplicaciones que
necesitan manejar múltiples tareas de forma simultánea.

• Tareas en segundo plano: Los hilos son útiles para ejecutar tareas largas o que requieren muchos recursos en
segundo plano, sin bloquear la interfaz de usuario.

En el siguiente ejercicio la cajera debe de procesar la compra a los clientes, para esto vamos a definir una clase cajera y
una clase cliente el cual tendrá un array de enteros.
Si ejecutamos este programa con dos Clientes y con un solo proceso, se procesará primero la compra del Cliente 1 y
después la del Cliente 2, con lo cual se tardará el tiempo del Cliente 1 + Cliente 2.

A continuación, vamos a cargar el código para el método Main y lanzar el programa.

En vez de haber solo una Cajera si hubiese dos Cajeras, podríamos procesar los dos clientes a la vez y tardar menos
tiempo en ejecutarse el programa. Para ello debemos de modificar la clase Cajera.java y hacer que esta clase herede de
la clase Thread para heredar y sobre escribir algunos de sus métodos. Primero vamos a ver como codificamos esta nueva
clase CajeraThread.java.
La clase CajeraThread debe de heredar de la clase Thread: extendsThread.

Otro detalle importante que vemos es que hemos sobre escrito el método “run ()" (de ahí la etiqueta @Override). Este
método es imprescindible sobrescribirlo porque en él se va a codificar la funcionalidad que se ha de ejecutar en un hilo;
es decir, que lo que se programe en el método "run ()" se va a ejecutar de forma secuencial en un hilo.

En esta clase cajeraThread se pueden sobre escribir más métodos para que hagan acciones sobre el hilo o thread.

Continuamos con el método Main para que procese a los clientes de forma paralela y ver cómo se tarda menos en
procesar todo. El método Main está en la clase MainThread.java que tiene el siguiente contenido:
Al realizar la actividad en NetBeans la primera ver que la ejecuté me dio el resultado correcto y al volver a correrlo para
tomar las capturas de pantalla me dio un error que no pude corregir. Realicé nuevamente la actividad en Visual Studio
Code, obteniendo los resultados correctos.

Quedo a la espera de sus comentarios.

Adjunto evidencia.
Conclusión.
En esencia, los hilos en Java son unidades de ejecución que permiten la programación concurrente, facilitando que las
aplicaciones realicen varias tareas simultáneamente y mejorando su rendimiento y capacidad de respuesta. Al usar hilos,
se puede optimizar el uso de los recursos del sistema y crear aplicaciones más eficientes y responsivas.

En informática, los "threads" o hilos son unidades de ejecución dentro de un proceso que permiten ejecutar múltiples
tareas de forma paralela, mejorando la eficiencia y la respuesta del programa. En la vida real, se pueden observar
ejemplos de hilos en software como navegadores web (cada pestaña es un hilo), smartphones que ejecutan varias
aplicaciones a la vez, o incluso en procesos colaborativos de oficina donde diferentes empleados trabajan en tareas
concurrentes.

Algunos ejemplos del uso de hilos en la vida real.

Navegadores web: Cada pestaña en un navegador web es un hilo independiente. Esto permite navegar por diferentes
sitios web al mismo tiempo sin que una página bloquee la otra.

Smartphones: Cuando usas un smartphone para enviar mensajes, escuchar música y navegar por internet al mismo
tiempo, cada una de estas tareas se ejecuta en un hilo separado.

Software de procesamiento de texto: Un hilo puede estar dedicado a la gestión de la interfaz de usuario mientras que
otro guarda archivos temporales de forma asíncrona.

Entorno de oficina: Imagine una oficina donde diferentes empleados (hilos) trabajan en tareas diferentes dentro del
mismo espacio (proceso). Comparten recursos y pueden comunicarse directamente, facilitando la colaboración.

Redes sociales (Instagram Threads): La aplicación Instagram Threads permite a los usuarios compartir contenido de
forma rápida y sencilla, como fotos y videos, en tiempo real.

Beneficios de usar hilos:

Mayor eficiencia: Los hilos permiten que un programa realice varias tareas a la vez, mejorando la eficiencia y la
respuesta del programa.

Mayor capacidad de respuesta: Si un hilo se bloquea, el resto del programa puede seguir funcionando, lo que evita que
la aplicación se quede congelada.

Facilidad de programación: Los hilos simplifican la programación de tareas complejas al permitir la separación de tareas
en unidades más pequeñas.

Gonzalez, T. (2024, agosto 9). Introducción a la Programación Concurrente en Java: Uso de Threads. ACADEMIA
SANROQUE. Recuperado el 02 de mayo de 2025, de https://academiasanroque.com/introduccion-a-la-programacion-
concurrente-en-java-uso-de-threads/

(S/f). Datacamp.com. Recuperado el 3 de mayo de 2025, de https://www.datacamp.com/es/doc/java/threads

También podría gustarte