Software e Hardware · Avançado · Português · Técnico
semáforo
Mecanismo de sincronização baseado em um contador que controla quantos processos ou threads podem usar ao mesmo tempo um recurso limitado.
Onde usar
Aparece em aulas de sistemas operacionais e programação concorrente, conforme proposto por Dijkstra. Útil para limitar conexões ou controlar um número fixo de vagas.
Exemplos
Usamos um semáforo para permitir no máximo cinco conexões simultâneas ao banco.
Quando o contador do semáforo chega a zero, as demais threads esperam.
Cuidado
Nada a ver com o semáforo de trânsito, a não ser pela analogia de liberar ou bloquear a passagem.
Origem
Do grego sêma, 'sinal', e phorós, 'que leva'; a ideia em computação é de Edsger Dijkstra.