Lar Desenvolvimento O que é exclusão mútua (mutex)? - o que é techopedia

O que é exclusão mútua (mutex)? - o que é techopedia

Índice:

Anonim

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.

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 as filas e as alternâncias de contexto. O Mutex pode ser aplicado nos níveis de hardware e software.

Desabilitar 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 de Dekker, o algoritmo de padaria preto-branco, o algoritmo de Szymanski, o algoritmo de Peterson e o algoritmo de padaria de Lamport.

Leitores mutuamente exclusivos e códigos de classe de leitura / gravação mutex podem ser definidos para uma implementação eficiente do mutex.

O que é exclusão mútua (mutex)? - o que é techopedia