A computação paralela e concorrente permite o melhor aproveitamento de processadores multi-core. Analise as afirmativas a seguir sobre threads, processos e condições de corrida.
I- Uma condição de corrida (race condition) ocorre quando o resultado final de uma operação depende da ordem imprevisível de execução de múltiplas threads sobre um recurso compartilhado.
II- Threads criadas dentro de um mesmo processo compartilham o mesmo espaço de endereçamento e recursos, como arquivos abertos, o que facilita a comunicação, mas exige sincronização.
III- O paralelismo é o conceito de gerenciar múltiplas tarefas que podem ou não ser executadas ao mesmo tempo, enquanto a concorrência exige obrigatoriamente hardware com múltiplos núcleos.
IV- O uso de Mutex (Mutual Exclusion) garante que apenas uma thread por vez possa acessar uma seção crítica do código, prevenindo inconsistências de dados.
Assinale a alternativa que apresenta somente as proposições CORRETAS:
- A I, II e IV.
- B I, II, III e IV.
- C I, II e III.
- D I e III.
- E II e IV.