ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arquitectura de Java


Enviado por   •  3 de Marzo de 2014  •  2.416 Palabras (10 Páginas)  •  180 Visitas

Página 1 de 10

file:///C:/Users/Ciber.MILUPITA2-PC/Downloads/mabetoo%202.docx

file:///E:/adner/unidad%203/Proceso%20(inform%C3%A1tica).pdf

file:///E:/adner/uIntroducción

El almacenamiento de datos en variables y arreglos es temporal; los datos se pierden cuando una variable local queda fuera de alcance, o cuando el programa termina. Las computadoras utilizan archivos para la retención a largo plazo de grandes cantidades de datos, incluso hasta después de que terminan los programas que crean esos datos. Usted utiliza archivos a diario, para tareas como escribir un ensayo o crear una hoja de calculo. Nos referimos a los datos que se mantienen en archivos como datos persistentes, ya que existen mas allá de la duración de la ejecución del programa. Las computadoras almacenan archivos en dispositivos de almacenamiento secundario como discos duros, discos ópticos y cintas magnéticas. En este capitulo explicaremos cómo los programas en Java crean, actualizan y procesan archivos.

Veremos la arquitectura de Java para manejar archivos mediante programación; Veremos varias clases el paquete java.io. Luego explicaremos que los datos pueden almacenarse en dos tipos distintos de archivos (de texto y binarios) y cubriremos las diferencias entre ellos.

Conceptos Básicos sobre Hilos

Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Java es un sistema multiproceso, esto significa que soporta varios procesos corriendo a la vez dentro de sus propios espacios de direcciones. Un hilo es una secuencia de código en ejecución dentro del contexto de un proceso.

Los hilos no pueden ejecutarse ellos solos; requieren la supervisión de un proceso padre para correr. Dentro de cada proceso hay varios hilos ejecutándose. Por ejemplo, Word puede tener un hilo en background chequeando automáticamente la gramática de lo que estoy escribiendo, mientras otro hilo puede estar salvando automáticamente los cambios del documento en el que estoy trabajando.

Los hilos a menudo son conocidos o llamados procesos ligeros. Un hilo, en efecto, es muy similar a un proceso pero con la diferencia de que un hilo siempre corre dentro del contexto de otro programa. Por el contrario, los procesos mantienen su propio espacio de direcciones y entorno de operaciones. Los hilos dependen de un programa padre en lo que se refiere a recursos de ejecución. La siguiente figura muestra le relación entre hilos y procesos.

ESTADOS DE UN HILO

Igual que los procesos un solo hilo de control, los hilos pueden encontrarse en uno de los siguientes estados:

 Nuevo. El hilo ha sido creado pero aún no ha sido activado. Cuando se active pasará al estado preparado.

 Preparado. El hilo está activo y está a la espera de que le sea asignada la UCP.

 En ejecución. El hilo está activo y le ha sido asignada la UCP (sólo los hilos activos, preparados, pueden ser ejecutados).

 Bloqueado. El hilo espera que otro elimine el bloqueo. Un hilo bloqueado puede estar:

 Dormido. El hilo está bloqueado durante una cantidad de tiempo determinada (por ejemplo, tres segundos), después de la cual despertará y pasará al estado preparado.

 Esperando. El hilo está esperando a que ocurra alguna cosa: una condición, una operación de E/S o adquirir la propiedad de un objeto de sincronismo. Cuando ocurra, pasará al estado preparado.

 Muerto. El hilo ha finalizado (está muerto) pero todavía no ha sido recogido por su padre. Los hilos muertos no pueden alcanzar ningún otro estado.

Obsérvese en la figura anterior que no se muestra los estados nuevo y muerto ya que no son estados de transición durante la vida del hilo; esto es, no se puede transitar al estado nuevo ni desde el estado muerto.

La transición entre estados está controlada por el planificador: parte del núcleo del sistema operativo encargada de que todos los hilos que esperan ejecutarse tengan su oportunidad. Si un hilo en ejecución no puede continuar, pasará al estado bloqueado; o también, si puede continuar y el planificador decide que ya ha sido ejecutado el tiempo suficiente, pasará a preparado cuando se dé el evento por el que espera; por ejemplo, puede estar esperando a que otro hilo elimine el bloqueo, o bien si está dormido, esperará a que pase el tiempo por el que fue enviado a este estado para ser activado; y si está preparado, pasará a ejecución cuando el planificador lo decida porque los demás hilos ya han tenido su parte de tiempo de UCP.

CUANDO SE DEBE CREAR UN HILO

Cada vez que se crea un proceso, el sistema operativo crea un hilo primario. Para muchos procesos éste es el único hilo necesario. Sin embargo, un proceso puede crear otros hilos para ayudarse en su trabajo, utilizando al máximo la UCP al máximo posible. Por ejemplo, supongamos el diseño de una aplicación procesador de texto. ¿Seria acertado crear un hilo separado para manipular cualquier tarea de impresión? Esto permitiría al usuario continuar utilizando la aplicación mientras se está imprimiendo el documento. En cambio, ¿Qué sucederá si los datos del documento cambian mientras se imprime? Éste es un problema que habría que resolver, quizás creando un fichero temporal que contenga los datos a imprimir.

PROGRAMAR CON HILOS

La mayoría del soporte que Java proporciona para trabajar con hilos reside en la clase Thread del paquete java.lang, aunque también la clase Object, la interfaz Runnable, la interfaz Thread.UncaughtExceptionHandler y las clases ThreadGroup y Threadlocal del mismo paquete, así como la maquina virtual, proporciona algún tipo de soporte.

GRUPO DE HILOS

Cada hilo Java es un miembro de un grupo de hilos. Este grupo puede ser el predefinido por Java o uno especificado explícitamente. Los grupos de hilos proporcionan un mecanismo para agrupar varios hilos en un único objeto con el fin de poder manipularlos todos de una vez; por ejemplo, poder interrumpir un grupo de hilos invocando una sola vez al método interrupt. A su vez, un grupo de hilos también puede pertenecer a otro grupo, formando una estructura en árbol. Desde el punto de vista de esta estructura, un hilo sólo tiene acceso a la información acerca de su grupo, no a la de su grupo padre o de cualquier otro

...

Descargar como (para miembros actualizados)  txt (18.7 Kb)  
Leer 9 páginas más »
Disponible sólo en Clubensayos.com