Questão FC266523
No que diz respeito às primitivas básicas de programação paralela, controle de tarefas, comunicação e sincronização, na implementação de threads, três modelos de sincronização são
Conceitos de Arquitetura de Computadores
IDECAN · 2021
No que diz respeito às primitivas básicas de programação paralela, controle de tarefas, comunicação e sincronização, na implementação de threads, três modelos de sincronização são descritos a seguir.
I. garante que somente uma thread por vez irá acessar uma seção de código específica ou acessar dados compartilhados – serializa a execução de threads
II. bloqueia threads até que uma condição seja satisfeita
III. coordenam o acesso a recursos, indicando o limite de threads que podem ter acesso concorrente a um recurso
Os três modelos de sincronização em I, II e III são denominados, respectivamente
- mutex locks, condition variables e semáforos
- mutex locks, semáforos e condition variables
- condition variables, mutex locks e semáforos
- semáforos, mutex locks e condition variables
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
Mutex locks: garantem exclusão mútua, isto é, apenas uma thread por vez pode entrar numa seção crítica ou acessar dados compartilhados. Uma thread adquire o mutex antes de acessar o recurso e o libera ao terminar, serializando o acesso.
Condition variables: permitem que threads se bloqueiem até que uma determinada condição lógica seja satisfeita. Normalmente são usadas em conjunto com um mutex: a thread libera o mutex ao aguardar e o reacquire ao ser sinalizada, evitando busy-wait e coordenando espera por predicados.
Semáforos: são contadores sincronizadores que coordenam acesso a recursos limitados. Um semáforo com valor N permite até N threads concorrentes; operações típicas são wait (decrementa/espera) e signal (incrementa/libera), útil para controlar simultaneidade e ordem de acesso.
Conteúdo do catálogo FC Concursos · Atualizado em