Alternativa B - Messaging Design Pattern (MDP)
Análise da Questão
A questão aborda Padrões de Concorrência, focando especificamente na comunicação entre componentes em sistemas multithreaded.
Por que a Alternativa B está correta?
O Messaging Design Pattern (MDP), como o próprio nome sugere, é o padrão projetual utilizado para estabelecer comunicação baseada em mensagens. Ele permite que diferentes componentes, threads ou aplicações troquem informações de forma assíncrona e desacoplada.
Principais características:
- Troca de Mensagens: O foco central é enviar e receber dados estruturados entre entidades independentes.
- Desacoplamento: Quem envia a mensagem não precisa saber quem a recebe exatamente, apenas que ela será processada.
- Aplicações: Muito comum em sistemas distribuídos e arquiteturas orientadas a serviços (como filas de mensagens).
Por que as outras alternativas estão incorretas?
Para entender melhor, vamos analisar a função dos outros padrões citados nas opções:
| Opção | Função Principal | Por que não é a resposta? |
|---|
| A - Join | Aguardar término | Serve para fazer um thread esperar outro terminar, não para trocar mensagens ativamente. |
| C - Lock | Exclusão Mútua | Garante que apenas um thread acesse um recurso por vez, prevenindo conflitos de dados. |
| D - Scheduler | Ordenação de Execução | Decide qual thread roda a seguir, gerenciando o tempo de CPU, não a comunicação de dados. |
| E - Double-Checked Locking | Otimização de Singleton | Técnica específica para criar instâncias únicas em ambiente concorrente sem travar excessivamente. |
Conclusão
O padrão desenhado especificamente para permitir a troca de informações (mensagens) entre componentes é o Messaging Design Pattern. As demais opções lidam com sincronização de tempo, controle de acesso a memória ou ordenação de execução, mas não com a transferência de dados entre entidades.