Programas en Tiempo Real en Java

Páginas: 7 (1684 palabras) Publicado: 12 de octubre de 2014
Para hacer los programas se utilizó el IDE NetBeans, aunque la compilación y ejecución se hace desde el Makefile, por lo que NetBeans solo fue usado para llevar un mejor orden respecto a las llaves a las clases y a los métodos.
Programa: UsePortal
Objetivo: Uso de Portales de memoria e hilos de tiempo real.
Definiciones: Portal, VTMemory, RealtimeThread
Descripción: Este programa hace usode un Portal compartido entre dos hilos, además un hilo padre crea a otros dos hilos. Los tres Hilos son “Hilos de Tiempo-Real”. En la parte del código del main que se muestra en la Figura 1, está la parte del código en donde se lanza al hilo TR padre.


Figura 1
Como la clase use Portal extiende a la clase RealtimeThread (Figura 2), entonces podemos acceder a los métodos correspondientes de laclase RealTimeThread como “join” y “start”.

Figura 2.




Figura 3.
La clase Port (Figura 3) será agregada al método getPortal de un área de memoria VTMemory.

Figura 4.
Los dos hilos RT (RealTime), usarán están clase que se muestra en la figura 4 como lógica para el método “enter” del área de memoria. Ambos hilos se van a diferenciar por los caracteres que guardan en “portal.s”,además del periodo en que lo usan. Como se puede observar se obtiene el área de memoria VTMemory correspondiente al hilo que se ejecute. El arreglo de char[] etiqueta contiene la diferencia que los hilos harán en este caso h -1 y H-2.



Figura 5.
Es el método “run” para THAction, como se puede observar es necesario definir el portal dentro de un “syncronized”, ya que serán los dos hilosquienes usen esta área de memoria y necesitan sincronización para entrar y salir de este portal.

Figura 6
En la figura 6 se muestra la clase usada por los dos hilos que comparten el área de memoria compartida con el hilo que los creo. Aquí se reciben las respectivas etiquetas con las que se iniciaran los dos hilos h-1(et1) y H-2(et2), además de inicializar en área de memoria VTMemory y con elmétodo “enter” entrar a ejecutar el código de los hilos.

Figura 7.

En la figura 7 se muestra el método Run para la clase UsePortal, se puede observar que en esta parte se inician los dos hilos, cada uno con una etiqueta diferente(h1,h2) y un periodo diferente(500,300). Se crea el área de memoria para ejecutarlos. Después entramos a la memoria 15 veces, y con el método “enter” de mem2 seejecuta el método “Run” por lo que se imprime el hilo que está dentro del portal el contador y cuenta memoria queda disponible, como se muestra en la figura 8.

Figura 8.









Programa: EventSystem
Objetivo: Uso de Hilos de tiempo real, uso del manejador de eventos asíncronos, uso de ScopedMemory, uso de un hilo tipo NoHeapRealtimeThread y un planificador de prioridades.Definiciones: ScopedMemory, NoHeapRealTimeThread, PriorityScheduler, VTMemory.
Descripción: Este programa pretende demostrar como dos hilos se ejecutan en un área compartida de memoria ScopedMemory, además del uso de un manejador de eventos asíncronos, el cual ejecutara el código necesario para entrar a la memoria compartida respectiva.

Consta de 3 clases:
NoHeapHandler: Contiene al manejador deeventos asíncronos así como el constructor que inicializará al hilo tipo NoHeapRealtimeThread.
Hilo1: Contiene el código de los dos hilos que se ejecuta cuando se entra a la memoria compartida.
EventSystem: Contiene el main, la asignación de los hilos tiempo-real así como el manejador de eventos asíncronos, además es el que ejecuta a los hilos. Inicialmente se crea un área de memoria VTMemory endonde se ejecutarán los hilos correspondientes. Esto también significa que es un hilo que ejecuta a los otros dos hilos.


Figura 9.
En la figura 9 se muestra el método Run del hilo principal, que es quien inicializa a los dos hilos, creando un PriorityScheduler (default), se asigna el manejador de eventos asíncronos a uno de los hilos (Hilo1), ambos hilos son del tipo NoHeapRealtimeThread....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programar con Java
  • programa java
  • Programando en java
  • Programar en Java
  • Programa java
  • Programas en java
  • Programas De Java
  • Programas en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS