You are on page 1of 29

TECNOLOGIAS DE SOFTWARE PARA

ELECTRONICA

FLUJOS
HILOS
JAVA 2D
Ing. Darwin Caina, MSc.

Quito, 2013
Stream
- Streams (Flujo), representa las entradas y
salidas de datos.
- El stream es una conexin entre el programa
y la fuente o destino de los datos.
Stream

El proceso para leer o escribir datos consta de


tres pasos.
- Abrir el flujo de datos
- Mientras exista informacin (leer o escribir)
los datos
- Cerrar el flujo de datos
Tipos de Streams
- Byte streams: se maneja atraves de las clases
InputStream y OutputStream, estas clases
manejan stream de bytes (8 bits). Ej. Binarios
como imgenes, sonidos.

- Character streams: se maneja a traves de las


clases Reader y Writer, estas clases manejas
stream de caracteres (char Unicode de 16 bits). Ej.
Caracteres.

- Todas estas clases se encuentran en el paquete


java.io: import java.io.*;
Clases para lectura de datos
Clases para escritura de datos
Clases para lectura de datos
Clases para escritura de datos
Buffer:

Es un espacio de memoria en el que se


almacenan datos para proveer a un software
o hardware continuamente de datos e
impedir la interrupcin de su trabajo por falta
de datos.
TECNOLOGIAS DE SOFTWARE PARA
ELECTRONICA

HILOS EN JAVA (THREADS)


Introduccin
- Los Hilos esta asociado a un proceso en ejecucin (1
o mas hilos).
- El proceso es un programa en ejecucin en un SO.
Ej. Excel, Word.
- Los Hilos comparten recursos (memoria), dentro de
un proceso
- Java es multiproceso multitarea
- Hilo es una secuencia de cdigo en ejecucin dentro
del contexto de un proceso.
Clases para Hilos
Java tiene las siguientes clases e interfaz para
implementar Hilos, las cuales son parte del
paquete java.lang:

Clases (Herencia): Interfaz (Interfaces)


- Thread - Runnable

- ThreadDeath (limpiar un hilo inactivo)


- ThreadGroup (manejar grupos de hilos)
- Object (proporciona algunos metodos para hilos)
Clase Thread:
Se implementa a traves de Herencia, y tiene
basicamente metodos como:
run: Es el cuerpo del hilo
start: inicializa el Hilo
stop: finaliza o para el Hilo.
sleep: duerme al hilo (pausa)

Interfaz Runnable:
Se implementa a traves del concepto de Interfaz,
cuando la clase ya herede de otra clase (java no
soporta multiherencia):
Estado y Control de Hilos
El comportamiento de un hilo depende del
estado en que se encuentre.
- New : se crea el hilo y esta listo para iniciar.
- Runnable : hilo entra a ejecucin.
- Not running : hilo entra en pausa.
- Dead : hilo es finalizado.
Prioridades

En un CPU no existe multiproceso real, los distintos


hilos comparten el CPU siguiendo polticas o
algoritmos del OS.
Esas polticas o algoritmos pueden tener en cuenta
prioridades cuando realiza sus clculos.
La prioridad de un hilo se establece mediante el
mtodo setPriority pasndole un int entre
- hilo.MAX_PRIORITY
- hilo.NORMAL_PRIORITY
- hilo.MIN_PRIORITY
SINCRONIZACION DE HILOS

- Se ha visto una ejecucin asncrona de los


hilos.
- Cada hilo vive de forma independiente, no
hay relacin entre ellos, ni conflicto, ya que
no comparten nada.
- Cuando comparten algo, o tienen relacin se
necesita sincronizarlos, es decir establecer
reglas para acceder a recursos compartidos.
- Ejemplo el hilo 2 (consumidor), necesita
informacin del hilo 1 (productor).
Contenedor
Productor-Consumidor
Clase Principal
TECNOLOGIAS DE SOFTWARE PARA
ELECTRONICA

JAVA 2D
Introduccin

- Java 2D es un API para dibujar grficos en 2


Dimensiones usando el lenguaje de
programacin Java.
- La unidad empleada son Pixeles
- Java 2D nos permite:
* Dibujar figuras geomtricas, imgenes y
textos.
* mover, rotar, escalar y recortar textos
* crear y editar , etc.
Preguntas?

You might also like