A utilização da linguagem Java é abrangente, se pode iniciar em software para smartphones até cluster computacionais de alto desempenho. Uma das áreas que utiliza a computação de alto desempenho é a simulação de sistemas biológicos, onde existem uma grande quantidade de estruturas a serem simuladas tais como átomos e moléculas e ainda diversas medidas a serem feitas como temperatura, pressão, energia e outras desse sistema atômico que está sendo simulado. Para que seja possível fazer essa simulação é necessário a utilização de diversos núcleos de processamentos e computadores dos cluster de alto desempenho. E ainda, para possibilitar a utilização de todos esses recursos o uso de threads é essencial, com elas é possível dividir as tarefas e tirar proveito de um sistema de múltiplos núcleos de processamento. Utilizando essa relação de threads, o código do Quadro-1 apresenta a utilização da classe Thread e sincronismo de threads.
Quadro-1: Implementação da classe Thread com controles de sincronismo.
package simulacao;
public class Tarefas implements Runnable{
private Thread t;
private int iteracoes;
private boolean exec;
public Tarefas(){
t = new Thread(this);
iteracoes = 0;
exec = true;
run();
t.start();
}
public void run() {
while(exec)
{
iteracoes++;
exibe();
}
}
public synchronized void exibe()
{
System.out.println(iteracoes);
}
}
Fonte: Andrijauskas, 2018
Considerando o contexto e o código do Quadro-1, selecione a alternativa que apresenta a correta afirmação sobre a execução do código:
Escolha uma:
a.O código executará criando uma thread e a contagem das interações será feito pela thread recém criada pelo código. O item de sincronismo é essencial para esse cenário de que utiliza apenas uma thread.
b.O código executará durante certo tempo, porém o mecanismo de sincronismo causará um deadlock ao decorrer do tempo gerando uma exceção.
c.O código executará criando uma thread, porém não utilizará a thread recém criada devido à chamada do método run, o item de sincronismo não é necessário pois não existe concorrência no escopo do código.
d.O código apresenta erro de compilação, pois a classe não pode implementar uma interface Runnable sem utilizar a classe Timer e TimerTask.
e.O código apresenta um erro de execução, pois o mecanismo de sincronismos interrompe a execução ao detectar a criação da thread.
AiltonSilva:
Sabe como resolver essa questão e muitas outras desse tipo é testando. Baixa o eclipse com o java. Jogue esse codigo lá e você vera como funcionará na pratica. Muito mais legal do que sair perguntando. Vai por mim
Respostas
respondido por:
30
Alternativa C:
O código executará criando uma thread, porém não utilizará a thread recém criada devido à chamada do método run, o item de sincronismo não é necessário pois não existe concorrência no escopo do código.
respondido por:
3
Resposta:
O código executará criando uma thread, porém não utilizará a thread recém criada devido à chamada do método run, o item de sincronismo não é necessário pois não existe concorrência no escopo do código.
Corrigido pelo AVA em 05/2020
Perguntas similares
6 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás