Hebras en JAVA
Dada la cantidad de trabajo para la maquina que se esté utilizando, ya que se trabaja con matrices, de tamaños elevados, se hace necesaria la utilización de herramientas adecudas para optimizar los recursos de la máquina.
Esto se logra, gracias al uso de thread en java, las cuales permiten un trabajo secuencial, procesando la información en forma separada, encargandose cada hebra de llevar a cavo una tarea respectiva.
Todo programa en Java corre con una hebra principal, pero es posible definir otras hebras, las cuales realizan tareas espeficicas. Para la aplicación desarrollada, se definen dos hebras:
- Reloj (clock): Es la encargada de leer cada imagen, y encontrar las diferencias (movimiento) entre estas.
- Repaint (Repintado): La otra hebra creada, tiene como finalidad repintar la pantalla, en los momentos en que se presentan cambio en los datos y las matrices que representan a cada imagen.
Flujo de Ejecución
Tenemos el diagrama donde observamos la forma en la cual se desarrolla la ejecución del del sistema.
Un punto a tener en consideración de la forma en la cual trabaja el programa es, que al momento de hacer correr la hebra "Clock", esta toma el flujo principal de ejecución (la dirección podríamos decirlo asi) y la hebra padre se encarga más que todo, de responder a los distintos eventos que surgen por la interacción con el usuario.
Hebras en Java
Mas detalles sobre el uso y trabajo de hebra en java, pueden encontrarlos en la siguiente dirección:
http://programacion.com/java/tutorial/threads/ http://java.sun.com/docs/books/tutorial/essential/concurrency/procthread.html