Baixe o app para aproveitar ainda mais
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.
Compartilhar