Contente
- Definição - O que significa Exclusão Mútua (Mutex)?
- Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.
- Techopedia explica Exclusão Mútua (Mutex)
Definição - O que significa Exclusão Mútua (Mutex)?
Uma exclusão mútua (mutex) é um objeto de programa que impede o acesso simultâneo a um recurso compartilhado. Esse conceito é usado na programação simultânea com uma seção crítica, um pedaço de código no qual processos ou threads acessam um recurso compartilhado. Somente um encadeamento possui o mutex por vez, portanto, um mutex com um nome exclusivo é criado quando um programa é iniciado. Quando um encadeamento retém um recurso, ele deve bloquear o mutex de outros encadeamentos para impedir o acesso simultâneo do recurso. Ao liberar o recurso, o thread desbloqueia o mutex.
Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.
Techopedia explica Exclusão Mútua (Mutex)
O Mutex entra em cena quando dois threads trabalham nos mesmos dados ao mesmo tempo. Ele atua como um bloqueio e é a ferramenta de sincronização mais básica. Quando um encadeamento tenta adquirir um mutex, ele ganha o mutex, se disponível, caso contrário, o encadeamento é definido como condição de suspensão. A exclusão mútua reduz a latência e espera ocupada usando enfileiramento e interruptores. O Mutex pode ser aplicado nos níveis de hardware e software.
Desativar interrupções para o menor número de instruções é a melhor maneira de impor o mutex no nível do kernel e impedir a corrupção de estruturas de dados compartilhadas. Se vários processadores compartilharem a mesma memória, um sinalizador será definido para ativar e desativar a aquisição de recursos com base na disponibilidade. O mecanismo de espera ocupada aplica mutex nas áreas de software. Isso é fornecido com algoritmos como o algoritmo Dekkers, o algoritmo de padaria preto-branco, o algoritmo Szymanskis, o algoritmo Petersons e o algoritmo de padaria Lamports.
Leitores mutuamente exclusivos e códigos de classe de leitura / gravação mutex podem ser definidos para uma implementação eficiente do mutex.