GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF69CO09Fácil⏱ medio

Em sistemas que executam várias threads, o que se entende por concorrência ao acessar a mesma variável?

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO09

Compreender os conceitos de paralelismo, concorrência e armazenamento/ processamento distribuídos.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em sistemas que executam várias threads, o que se entende por concorrência ao acessar a mesma variável?

  1. A) Concorrência é a execução de todas as threads em série, uma de cada vez.
  2. B) A execução intercalada de threads que podem acessar a mesma variável sem necessariamente ocorrer ao mesmo tempo.
  3. C) Concorrência significa que as threads sempre executam ao mesmo tempo, sem interrupções.
  4. D) Concorrência é quando cada thread deve acessar uma variável uma única vez durante sua execução.
  5. E) Concorrência se refere apenas a threads que não podem acessar a mesma variável simultaneamente.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. Concorrência, no contexto de threads, significa que várias threads estão em andamento ao mesmo tempo lógico, com suas execuções intercaladas ou sobrepostas, podendo disputar o acesso a recursos compartilhados, como uma mesma variável. Não é preciso que elas rodem fisicamente no mesmo instante, pois em um único processador o sistema operacional alterna (intercala) a execução das threads.
  2. Analisando as alternativas, a B descreve exatamente isso: execução intercalada de threads que podem acessar a mesma variável, sem que isso precise ocorrer simultaneamente. É por isso que surgem problemas como condições de corrida, que exigem sincronização.
  3. A alternativa A está errada porque descreve execução sequencial (uma thread de cada vez), que é justamente a ausência de concorrência.
  4. A alternativa C está errada porque concorrência não significa execução simultânea sem interrupções; ao contrário, ela envolve interrupções e alternância entre threads.
  5. A alternativa D está errada porque concorrência não se define pelo número de acessos a uma variável por thread; trata-se da relação entre execuções que podem se sobrepor.
  6. A alternativa E está errada porque inverte o conceito: a concorrência justamente se preocupa com threads que podem acessar a mesma variável, e não apenas com as que não podem.
  7. Conclusão: o gabarito oficial B está correto, pois é a única alternativa que descreve a concorrência como execução intercalada de threads que compartilham variáveis.

💡 Dica: Defina o conceito de concorrência em programação.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno confundiu concorrência com execução sequencial, entendendo que, para não haver conflito, as threads devem rodar uma após a outra.

Por que engana: Confundir concorrência com execução em série, acreditando que as threads não podem interagir entre si.

B Correta

Concorrência descreve sobreposição temporal de atividades; threads alternam acesso à variável, o que pode causar condições de corrida se não houver sincronização (ex.: locks).

C Erradaerro: Conceitual

O aluno associou concorrência a paralelismo perfeito, imaginando threads sempre rodando simultaneamente e sem interrupções, o que ignora a alternância feita pelo escalonador.

D Erradaerro: Conceitual

O aluno tomou a concorrência como uma regra de quantidade de acessos por thread, confundindo o conceito com um requisito de uso da variável.

E Erradaerro: Interpretação

O aluno inverteu o sentido do conceito, pensando que concorrência trata apenas de threads que não conseguem acessar a mesma variável, quando o foco é justamente o acesso compartilhado.

Raio-X da questão

Dificuldade Fácil
Bloom Lembrar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

concorrência em threads

📌 Objetivo

avaliacao

🧱 Pré-requisitos

execução de threads · acesso a variáveis compartilhadas

📚 Reveja

Revisar conceitos de concorrência e threads em programação.

⚠️ Erro mais comum

Confundir concorrência com execução em série, acreditando que as threads não podem interagir entre si.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Sistemas distribuídos e internet - Fundamentos de sistemas distribuídos

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.