1.-
Define diferencia entre programación secuencial y concurrente
Concurrente: en esta se tiene más de una lógica de
ejecución, es decir, cuando un programa
realice determinada función.
Secuencial: Son procesos que se ejecutan una tras otra
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= Concurrencia
3.-
Menciona los 5 estados de una Hebra
Ejecución,
en espera y bloqueado
4.- Explica el término de condición de
competencia aplicable a una Hebra
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 cómo funciona el término de exclusión mutua para un hilo
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 ebra (hilo)
Nuevo
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
Se
denomina "hilo detenido", pues se encuentra listo para ejecutarse en
espera del método "start", que lo arranque.
En
Ejecución
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étodo isAlive () 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".
Menciona
los conceptos de:
aThreand
Intercambian
entre si mensajes con información y mensajes de sincronismo. Representa un
proceso individual ejecutándose en un sistema.
bYield
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.
cSleep
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.
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.
eRun
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.
f) Stop
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.
gSuspend
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.
hResume
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.
No hay comentarios:
Publicar un comentario