Buscar

THREADS E CONCORRÊNCIA

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

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

Prévia do material em texto

Aluno: Matr.: 
Disc.: PROG. ORIENT. PROJ. 2023.3 EAD (G) / EX 
 
 
1. 
 
 
Sabe-se que a thread A escreve o numero 1 na tela (System.Out.Println("1");) e, a 
thread B escreve o numero 2 na tela (System.Out.Println("2");) ambas dentro de 
um for de 1 até 1000. Se a thread A for iniciada e logo em seguida for iniciada a 
thread B. Pode-se afirmar que: 
 
 Nada pode ser dito quanto a ordem de impressão dos números. 
 
 Serão escritos intercalados 1000 numeros "1" e 1000 numeros "2" 
 
 Serão escritos 1000 numeros "2" e depois 1000 numeros "1" 
 
 Serão escritos intercalados 1000 numeros "2" e 1000 numeros "1" 
 
 Serão escritos 1000 numeros "1" e depois 1000 numeros "2" 
2. 
 
 
Em Java, usamos a classe Thread para criarmos linhas de execução paralelas. 
Identifique quais destes métodos e descrição do que realizam estão corretos : 
notify() notifica uma thread que a sua prioridade já foi alterada. wait() permite que 
a thread suspenda a sua execução até que o processo se encerre e seja reiniciado 
novo processo. notifyAll() notifica todas as threads que uma dada condição se 
alterou. 
 
 f, f, v 
 
 v, v, f 
 
 v, v, v 
 
 f, v, v 
 
 f, v, f 
3. 
 
 
A prioridade de uma thread corresponde à preferência que ela terá perante às 
demais durante sua execução. Quanto maior a prioridade de uma thread, maior 
será sua preferência no uso da CPU. A prioridade é extremamente ligada ao 
algoritmo de escalonamento de CPU que o sistema operacional utiliza. Para 
definir a prioridade de uma thread, em um programa Java, utiliza-se o método: 
 
 
 interrupt() 
 
 getPriority() 
 setPriority() 
 
 sleep() 
 
 yield() 
 
 
 
4. 
 
 
Existem duas formas de se criar uma classe que execute em forma multithread na 
linguagem Java, são elas: 
 
 
 Nenhuma das opções 
 
 
Herança da classe java.lang.Runnable e implementação da interface 
java.lang.Thread 
 
Herança da classe java.lang.Thread e implementação da interface 
java.lang.Runnable 
 
 
Herança da classe java.lang.MultiThread e implementação da interface 
java.lang.Runnable 
 
 
Herança da classe java.lang.Runnable e implementação da interface 
java.lang.MultiThread 
5. 
 
 
Todos os sistemas operacionais modernos possuem o conceito de processos que, 
de forma simplificada, são programas diferentes e independentes executados pelo 
sistema operacional. Threading é um artifício que permite a coexistência de 
múltiplas atividades dentro de um único processo. Um processo pode conter 
múltiplas threads que parecem executar ao mesmo tempo e de forma assíncrona 
em relação às outras threads. Mas como definir a preferencia de execução dos 
mesmos? 
Identifique qual o método responsável por definir a prioridade e os valores 
possíveis. 
 
 
 Médodo: int getPriority(int prioridade) - Prioridade: 1 à 10 
 
 Médodo: int setPriority(int prioridade) - Prioridade: 1 à 10 
 Médodo: void setPriority(int prioridade) - Prioridade: 1 à 10 
 
 Médodo: void getPriority(int prioridade) - Prioridade: 1 à 10 
 
 Médodo: void setPriority(int prioridade) - Prioridade: 1 à 100 
6. 
 
 
A prioridade de um thread corresponde a preferência que ela terá perante as 
demais durante sua execução. Quanto maior a prioridade de um thread, maior será 
sua preferência no uso da CPU. Threads de mesma prioridade costumam partilhar 
o tempo de CPU igualmente. Para definir a prioridade de um thread, são usados: 
 
 
 
números de 1 a 5, sendo que o número 3 é usado para definir a prioridade 
como normal. 
 
 
números de 1 a 100, sendo que o número 50 é usado para definir a 
prioridade como normal. 
 
números de 1 a 10, sendo que o número 5 é usado para definir a prioridade 
como normal. 
 
 
números de 1 a 100, sendo que o número 5 é usado para definir a prioridade 
como normal. 
 
 
números de 0 a 10, sendo que o número 5 é usado para definir a prioridade 
como normal.

Continue navegando