Capítulo 5 - b: Hilos. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet Un.

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Fernando Alonso Blázquez Graphic User Interfaces 25 de Marzo de 2004.
Interprete o máquina real
Ayudantía Pre-Actividad 5 Multimedios. Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones.
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
Programación Interactiva Hilos
ÍNDICE Introducción. Trabajar con Applets. Definición de Applet.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Genéricos en Java Jaime Ramírez, Ángel Lucas González
Tema 4 Árboles. Árbol sobre matriz.
EI, Profesor Ramón Castro Liceaga APLICACIONES DE JAVA CON PAGINAS WEB (Applets) UNIVERSIDAD LATINA (UNILA)
RMI (Remote Method Invocation)
Francisco Moreno Bases de Datos II Universidad Nacional
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Multithreading and.
Qué pasa cuando varios clientes tratan de conectarse al mismo teimpo a un servidor Una forma es ir atendiéndolos de a uno en un ciclo: como en el programa.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Tema 12: Programación multihilo
7a.1 Silberschatz, Galvin y Gagne ©2003 Sistemas Operativos 6ª edición Capítulo 7: Sincronización de procesos parte a.
Java Parte II Taller de Sistemas de Programas Enero-Marzo 99 Prof. : Sandra Zabala, Marilenis Olivera Ivette C. Martínez, Pedro García, Alejandra Blanco.
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Método en Java.
Manejo de excepciones en Java
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
10. Hilos Definición y ejecución Thread y Runnable
Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp.
0. Desarrollo de Programas: técnica del refinamiento.
Inicio Java: Algunas utilidades. Inicio Temporización En ingeniería nos encontramos con tareas que deben repetirse de forma periódica. Son tareas temporizadas.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Colecciones.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
USA agenda e itemAgenda
Programación orientada a objetos
Un hilo es un único flujo de ejecución dentro de un proceso. Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Los.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Algunos componentes Swing  Clase JComponent.
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
JAVA J.A.C..
Invocación de Métodos Remotos RMI: Remote Method Invocation
3.  Recursividad.
Curso Programación en Java
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sincronización de Threads en Java Josep Joan.
Capítulo 1 “Elementos de Programación”
Tema 11: Excepciones Antonio J. Sierra.
Patrones Creacionales
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Applets CONTENIDO ¿Que es un applet? Lo básico de un applet Ciclo de vida de un Applet Las etiquetas de HTML Pasando información a los applets.
JAVA: Applets Diseño de servicios web © María de los Santos PÉREZ HERNÁNDEZ.
Hilos y Procesos Proceso
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Java Applets David Gil
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
TEMA 2. Programación Concurrente
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE APPLETS.
CRUCIGRAMA HORIZONTALES: VERTICALES:
Hilos y Multihilos Un thread (hilo, flujo de control del programa) representa un proceso individual ejecutándose en un sistema. A veces se les llama.
Hilos Java Profesor Elian Rojas Berrocal
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Tema 1: Concurrencia con Java
Objetos con linea de ejecucion propia
Transcripción de la presentación:

Capítulo 5 - b: Hilos

4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet Un applet es un hilo que se ejecuta dentro de un navegador web Los navegadores web invocan los siguientes métodos para la administración de los applets: start( ) – inicia la actividad del applet, lo crea si no existe, lo reinicia si estaba suspendido por ejemplo si el applet vuelve al área de visualización de la página web stop( ) – suspende la ejecución del applet. Por ejemplo si el applet sale del área de visualización de la página web destroy( ) – elimina al applet No se deben confundir estos métodos con los métodos de los hilos.

4.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet A continuación se presenta un applet que muestra la hora y la fecha en un navegador web. import java.applet.*; import java.awt.*; public class AppletReloj extends Applet implements Runnable{ public void run( ){ while( true ){ try{ HiloReloj.sleep(1000); } catch( InterruptedException e){} repaint( ); } public void start( ){ if( HiloReloj == null ){ HiloReloj = new Thread(this); HiloReloj.start( ); } else{ HiloReloj.resume( ); }

4.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet public void stop( ){ if( HiloReloj != null ){ HiloReloj.suspend( ); } public void destroy( ){ if( HiloReloj != null ){ HiloReloj.stop( ); HiloReloj = null; } public void paint(Graphics g){ g.drawString(new java.util.Date( ).toString( ),10,30); } private Thread HiloReloj; }

4.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Productor – consumidor con buzón ilimitado El buzón con capacidad ilimitada implementado en el capítulo 4 utilizando vectores, se muestra a continuación import java.util.*; public class ColaMensajes{ cola = new Vector( ); } public void enviar( Object mensaje ){ cola.addElement( mensaje ); } public Object recibir( ){ Object mensaje; if( cola.isEmpty( ) == true ) return null; else{ mensaje = cola.firstElement( ); cola.removeElementAt( 0 ); return mensaje; } private Vector cola; }

4.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Productor – consumidor con buzón ilimitado class Productor extends Thread{ public Productor( ColaMensajes c ){ buzon = c ; } public void run( ){ while( true ){ int dormirtiempo = ( int )Servidor.DORMIR*Math.random( )); System.out.println( “El Productor duerme por "+dormirtiempo+" segundos"); try{ Productor.sleep(dormirtiempo); } catch( InterruptedException e ){}; mensaje = new Date( ); buzon.enviar( mensaje ); } Private ColaMensajes buzon; }

4.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Productor – consumidor buzón ilimitado class Consumidor extends Thread{ public Consumidor( ColaMensajes c ){ buzon = c; } public void run( ){ while( true ){ int dormirtiempo = (int)Servidor.DORMIR*Math.random( )); System.out.println("El consumidor duerme por "+dormirtiempo+" segundos"); try{ Consumidor.sleep(dormirtiempo*1000); } catch(InterruptedException e ){ }; mensaje = (Date)buzon.recibir( ); if( mensaje != null )System.out.println("El consumidor retiro "+mensaje); } private ColaMensajes buzon; }

4.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Productor – consumidor con buzón ilimitado public class Servidor{ public Servidor( ){ ColaMensajes buzon = new ColaMensajes( ); Productor HiloProductor = new Productor( buzon ); Consumidor HiloConsumidor = new Consumidor( buzon ); HiloProductor.start( ); HiloConsumidor.start( ); } public static void main( String args[ ]){ Servidor ejecuta = new Servidor( ); } public static final int DORMIR = 5; }

Final del Capítulo 5 - b