CUESTIONARIO
NOMBRE: DIANA
ALEJANDRA SEGUNDO SÀNCHEZ
1.- Define diferencia entre programación
secuencial y concurrente
PROGRAMACIÒN SECUENCIAL: conjunto de
declaraciones de datos e instrucciones ejecutables escrito en un lenguaje de
programación. Estas instrucciones deben ejecutarse, una de otra, siguiendo una
secuencia determinada por un algoritmo, para resolver cierto problema. Un
proceso es la ejecución de un programa secuencial en un sistema informático.
PROGRAMACIÒN CONCURRENTE: es un conjunto de
teorías, métodos y herramientas, cuyo objetivo primordial es la construcción y
verificación de programas formados por múltiples actividades que se ejecutan
concurrentemente para llevar a cabo una cierta tarea.
2.- Este término es utilizado para indicar un programa único en el que puede ver más de un contexto de ejecución activo simultáneamente
R: PROGRAMA PARALELO
3.- Menciona los 5 estados de una hebra
R: LISTO,
EJECUCIÒN, PROCESO
4.- Explica el término de condición de competencia aplicable a una hebra
R: Permite a los hilos suspender su ejecución y abandonar el
procesador hasta que alguna porción de un código compartido sea satisfecho.
5.- Explica como funciona el término de exclusión mutua para un hilo
R: Consiste en que un solo proceso excluye temporalmente a todos los demás
para usar un recurso compartido de forma que garantice la integridad del
sistema.6.- Menciona cuales son las características de los procesos
concurrentes.
7.- Cuales son los métodos que se utilizan en java para controlar los estados de una hebra (hilo)
Nuevo
R: Un hilo nuevo es uno que se ha creado y que está esperando su arranque
para pasar al estado de preparación. Se crea con el operador "new". Ejemplo:
Thread
hiloInicial = new Thread (new hilosRunnable ("Hilo Primario", 3));
En preparación
R: Se denomina "hilo detenido", pues se encuentra listo para
ejecutarse en espera del método "start", que lo arranque.
En Ejecución
R: Pasa a este estado después de arrancado mediante la "start",
método que busca en la clase el método run () implementado para hacer correr el
hilo. Se denomina "hilo vivo", y cuando el métodoisAlive () de
la clase Thread devuelve "true" significa que está en estado de
ejecución. Ejemplo:
if (objetoHilo.IsAlive == true)
Bloqueado
Esta situación se da cuando ha sucedido
un evento que suspende la ejecución del hilo. JAVA utiliza dos métodos para
bloquear un hilo: sleep () y wait (),
que deriva de la clase Object.
Es decir dormido y esperando:
· Dormido
En este caso, el hilo no hace nada. Esto
quiere decir que no utiliza la UCP. Es un método estático y se le llama pasando
como argumento los milisegundos que el hilo permanecerá bloqueado. Opera sobre
el hilo que se encuentra en actual ejecución. Ejemplo:
Thread.sleep (milisegundos);
· Esperando
Acá se utiliza el método wait (), que
pasará a estado de preparado utilizando los métodos notify ()o notifyAll (),
de la clase Object.
Muerto
Una vez terminado el método run() el
hilo pasa a estado "muerto", en forma natural. En este estado, ya no
es posible arrancar nuevamente el hilo. Habría que construir un nuevo objeto
Thread y enviarle el comando "start".
8.- Menciona los conceptos de:
Intercambian entre si mensajes con
información y mensajes de sincronismo. Representa un proceso individual
ejecutándose en un sistema.
Este método hace que el intérprete
cambie de contexto entre el hilo actual y el siguiente hilo ejecutable
disponible. Es una manera de asegurar que los hilos de menor prioridad no
sufran inanición.
Mueve a la hebra del estado en ejecución
a un estado bloqueado, donde espera una interrupción del temporalizador de
intervalo. Ponga el hilo a dormir durante milisegundos y transcurridos esos
dicho hilo volverá a estar disponible para su ejecución
d) Start
Indica al intérprete de java que cree un
contexto de hilo del sistema y comience a ejecutarlo. Hay que tener precaución
de no llamar el método start más de una vez sobre el hilo determinado.
Constituye el cuerpo de un hilo en
ejecución. Este es el único método del interfaz Runnable. Es llamado por el
método start después de que el hilo apropiado del sistema se haya inicializado.
Provoca que el hilo se detenga de manera
inmediata. Una forma más elegante de detener el hilo es utilizar alguna
variable que ocasione que el método run termine de manera ordenada.
Toma el hilo y provoca que se detenga su
ejecución sin destruir el hilo de sistema subyacente, ni el estado del hilo
anteriormente en ejecución.
h) Resume
Se utiliza para revivir un hilo
suspendido. No hay garantía de que el hilo comience a ejecutarse
inmediatamente, ya que puede haber un hilo de mayor prioridad en ejecución
actualmente.
i) Runnable
Forma habitual de crear hilos.



