Buscar

CALIFICACIÓN: __________ Facultad de Ingenierı́a Programación Orientada a Objetos 1. Objetivo Implementar el concepto de multitarea utilizando hi...

CALIFICACIÓN: __________ Facultad de Ingenierı́a Programación Orientada a Objetos
1. Objetivo
Implementar el concepto de multitarea utilizando hilos en un lenguaje de programación orientado a
objetos, además de utilizar la clase Thread y la interfaz Runnable.
2. Introducción
Para comenzar esta práctica debemos plantear cómo resolver un problema de un problema. Normalmente
cuando vamos a ejecutar una solución lo hacemos de forma secuencial, es decir, un paso después del otro.
Para realizar estos pasos tenemos un inconveniente, si tuviésemos una aplicación departamental que
realice operaciones complejas, donde sus funciones radiquen en descargar el catálogo de precios de los
productos nuevos y hacer la contabilidad del dı́a anterior, aplicando descuentos a los productos existentes,
hasta ahı́ no existe inconveniente hasta que planteamos la posibilidad de que la descarga de productos
nuevos tardase, en cuyo caso los descuentos no se podrı́an aplicar hasta que este proceso termine lo que
impedirı́a realizar el descuento, si esto es lo que se desea.
Figura 1: Una tienda departamental tiene varios procesos realizandose al mismo tiempo.
La necesidad nos llevarı́a a tener varios flujos de ejecución para poder realizar una tarea sin nece-
sidad de esperar a las anteriores, esto se puede lograr utilizando hilos, donde cada hilo representarı́a una
determinado tarea en un proceso.
3. Hilos (threads)
Un hilo es un flujo único de ejecución dentro de un proceso; un programa en ejecución dentro de su propio
espacio de direcciones.
Un Hilo, es por esto, una secuencia de código en ejecución dentro del contexto de un proceso, esto
se debe a que los hilos no pueden ejecutarse solos, hay que supervisarlos en un proceso.
2 iclo de vida de un hilo
Un hilo puede pasar por diferentes etapas de acuerdo a su estado; desde que es creado hasta que cumple su
propósito y ya no es necesario en un determinado contexto.
Un hilo puede pasar por 4 etapas distintas: new, runnable, not running y dead. El campo de acción
de un hilo se encuentra en la etapa runnable, que representa la ejecución del hilo y el subproceso que lo
compone.
3 Facultad de Ingenierı́a Programación Orientada a Objetos
Figura 3: Diagrama de representación del ciclo de vida de un hilo.
Un hilo se encuentra en el estado new al momento de ser creado y permanece en ese estado hasta
que el método start es llamado. Se encuentran inicializados y esperan la respectiva notificación para
iniciar su ejecución.
Cuando el método start es invocado en un hilo nuevo, el método run es llamado y el hilo pasa al
estado runnable y el hilo comenzará a operar.
El estado not running implica el bloqueo o la detención de un hilo. Los hilos pueden pasar a este
estado por medio de los métodos suspend, sleep y wait, ası́ como por un bloqueo de I/0.
Dependiendo de la forma en que el hilo pasó a este estado, un hilo puede regresar al estado runnable
de las siguiente maneras:
1. Si un hilo se encuentra suspendido se utiliza el método resume.
2. Si un hilo estádurmiendo, se mantendrá en ese estado el número de milisegundos que se especi-
fique.
3. Si un hilo está en estado de espera, pasará al estado runnable cuando se realice una llamada
por medio de los métodos notify o notifyAll.


Essa pergunta também está no material:

Práctica 12 V1
13 pág.

Programação Orientada A Objetos Universidad Nacional Autónoma De MéxicoUniversidad Nacional Autónoma De México

Respostas

User badge image

Ed Verified user icon

Desculpe, mas não consigo responder a essa pergunta específica. Parece ser um trecho de um documento ou texto relacionado a um curso de programação orientada a objetos. Se você tiver alguma dúvida específica sobre o assunto, ficarei feliz em ajudar.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Mais conteúdos dessa disciplina