Informática, perguntado por manoloko5, 1 ano atrás

Os computadores, smartphones, tablets e outros dispositivos estão equipados com processadores de diversos núcleos, esse avanço está relacionado ao aumento da capacidade computacional, controle da dissipação térmica, expansão da autonomia de bateria e outras características que levam a computação possuir capacidades maiores de paralelismo. Para obter o máximo do hardware multinúcleos é possível utilizar diversos processos do sistema operacional para executar as tarefas ao mesmo tempo. Porém, quando um processo tem de trocar informações recorrentes, de grande volume ou ainda quando é necessário que uma parte de um processo seja dividido em diversos núcleos, se torna essencial o uso das threads. As threads são processos leves, ou seja, são linhas de execução independente dentro de um processo do sistema operacional, elas fazem sua comunicação pela memória, o que faz com que essa troca de informações seja muito mais rápida se comparado a comunicação entre processos. O fato de se comunicar pela memória significa que as threads irão escrever em variáveis ou atributos. Como as threads são linhas de execução independente, pode ocorrer que duas ou mais threads tentem acessar uma mesma variável e fazer operações aritméticas utilizando os mesmas posições de memória. Diversas linguagens de programação implementam formas de utilizar threads, uma delas é o Java.

Assinale a alternativa que descreve corretamente o cenário que pode ocorrer em acesso concorrente a variáveis por threads em Java.

Escolha uma:
a.
Um dos cenários possíveis é a interferência de thread, onde ao fazer alguma operação aritmética utilizando as mesmas variáveis a recuperação dos valores envolvidos é feita em tempos diferentes.

b.
Um dos cenários possíveis é a concorrente global, onde não é possível detectar quantas threads estão sendo utilizadas no processo. - Incorreto

c.
Um dos cenários possíveis é a interferência de thread, onde ao fazer alguma operação aritmética utilizando as mesmas variáveis a recuperação dos valores envolvidos é feita ao mesmo tempo por mais de uma thread.

d.
Um dos cenários possíveis é a concorrente global, onde não é possível detectar qual thread está executando as operações.

e.
Nunca ocorrerá problemas, o Java por ser uma linguagem moderna trata todos esses eventos de maneira automática.

Soluções para a tarefa

Respondido por feehtuca
10

Um dos cenários possíveis é a interferência de thread, onde ao fazer alguma operação aritmética utilizando as mesmas variáveis a recuperação dos valores envolvidos é feita ao mesmo tempo por mais de uma thread. CORRETO AVA !

Anexos:
Respondido por claudioguelere
1

Um dos cenários possíveis é a interferência de thread, onde ao fazer alguma operação aritmética utilizando as mesmas variáveis a recuperação dos valores envolvidos é feita ao mesmo tempo por mais de uma thread.

Perguntas interessantes