Semáforo

Em ciência da computação, um semáforo é uma variável que controla o acesso a um ou mais recursos. Ele é uma ferramenta que os desenvolvedores usam para garantir que as funções acessem apenas dados válidos e sejam executadas no momento certo. Um semáforo pode evitar um deadlock ou uma condição de corrida ao impedir o acesso a um recurso quando ele não está disponível.

Há dois tipos principais de semáforos na programação de computadores: binários e de contagem.

Semáforos binários

Um semáforo binário é uma variável booleana que pode ter apenas dois valores possíveis (0 ou 1). Ele costuma ser usado como um bloqueio para restringir o acesso a uma função ou recurso. Por exemplo, o semáforo A controla a função getData(). Se A = 0, getData() não será executada. Se A = 1, getData() será executada. Um semáforo binário também é considerado um sinalizador ou um interruptor que está ligado ou desligado.

Semáforos de contagem

Um semáforo de contagem pode ser qualquer número inteiro não negativo, também conhecido como número natural. Seu valor pode aumentar ou diminuir com base nos resultados de uma ou mais funções. Por exemplo, um semáforo de contagem pode acompanhar o número de recursos disponíveis em um conjunto de recursos. Se o semáforo for decrementado mais vezes do que for incrementado, ele acabará chegando a 0. Um valor zero indica que não há mais recursos disponíveis.

NOTE: Um "semáforo" no mundo real é uma bandeira ou outro objeto usado para enviar sinais à distância. Por exemplo, uma pessoa pode erguer uma haste em um cais para sinalizar ao capitão de uma balsa que gostaria de embarcar.

Atualizado February 1, 2020 por Per C.

quizTeste seus conhecimentos

What service does WINS provide?

A
It automatically restarts Windows when an system crash occurs.
0%
B
It provides detailed logging of Windows application events.
0%
C
It enables Windows to identify NetBIOS systems on a TCP/IP network.
0%
D
It allows Windows computers to communicate with wireless devices.
0%
Correct! Incorrect!     View the WINS definition.
More Quizzes →

O dicionário de informática Tech Terms

A definição de Semáforo nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.