







Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Practica 12 de Programación Orientada a Objetos
Tipo: Ejercicios
Subido el 26/02/2023
1 documento
1 / 13
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!








Facultad de Ingeniería Laboratorio de docencia
Profesor: Ernesto Alcantara Concepcion Asignatura: Programación Orientada a Objetos Grupo: (^) 10 No de Práctica(s): (^) 12 Integrante(s): ● Romero Molina David No. de Equipo de cómputo empleado: No Usado No. de Lista o Brigada: (^) 32 Semestre: 2022- Fecha de entrega: (^) 17 de Diciembre de 2022 Observaciones: CALIFICACIÓN: __________
Imagen 1. Sistema multitarea La ejecución multihilo es una característica esencial de la plataforma de Java. Cada aplicación tiene al menos un hilo o varias si se cuentan los hilos del sistema que administran la memoria y el manejo de las señales. Pero desde el punto de vista del programador se empieza con un hilo, llamado el hilo principal. Este hilo tiene la habilidad de crear hilos adicionales como se verá más adelante
Para comprender el funcionamiento de un programa multihilo veamos primero un programa con un solo hilo de ejecución. Considere el el siguiente programa formado por dos clases: Imagen 2. Clase Hilo Imagen 3. Clase Prueba En la imagen 2 se muestra el comportamiento del programa con el tiempo. En este caso como solo hay un hilo de ejecución las sentencias se ejecutan una después de otra. No hay concurrencia.
Imagen 4. Para hacer que el método run() ejecute en paralelo con el método main() y otros métodos de la clase Prueba, hay que modificar la clase Hilo para que sea ejecutado por un nuevo hilo. Para ello nuestra clase Hilo deberá heredar de la clase Thread. Como se muestra en el siguiente código: Imagen 5. Clase Hilo También debemos modificar a la clase que invoca a la clase Hilo para que en lugar de invocar a su método run() invoque a su método start(). Imagen 6. método start El método start() es quien crea otro hilo de ejecución. Este hilo, después de un proceso de inicialización invoca al método run(). Este mismo hilo, cuando el método run() completa se encarga de se encarga de los detalles de la terminación del hilo. El método start() del hilo original regresa inmediatamente, por lo que el método run() ejecutará en el nuevo hilo al mismo tiempo que el método start() regresa en el primer hilo como se muestra en la imagen 7. Imagen 7. La clase Thread forma parte de la API de Java para hilos. Parte de esa API se muestra en la imagen 8:
GreetingRunnable r1 = new GreetingRunnable("Hello"); GreetingRunnable r2 = new GreetingRunnable("Goodbye"); r1.run(); r2.run(); Imagen 11. clase GrettinRunable implementado Runnable
Imagen 12. clase main GrettinRunable_Test Imagen 13. Compilación del programa 1
Imagen 17. Clase Competicion implementado Runnable
Imagen 18. Clase Competicion implementado Runnable, parte 2 Imagen 19. Clase main Competicion_Test
Séptima Edición. México Pearson Educación, 2008 ● Martín, Antonio Programador Certificado Java 2. Segunda Edición. México Alfaomega Grupo Editor, 2008