• Matéria: Informática
  • Autor: patriciasaidel
  • Perguntado 7 anos atrás

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: manoloko5
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.


marcos18mdp5p9w4: CORRETA!
respondido por: Felipeventura03
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