Semaforo

In informatica, un semaforo è una variabile che controlla l'accesso a una o più risorse. È uno strumento che gli sviluppatori usano per assicurarsi che le funzioni accedano solo a dati validi e vengano eseguite al momento giusto. Un semaforo può impedire un deadlock o una condizione di gara negando l'accesso a una risorsa quando non è disponibile.

Esistono due tipi principali di semafori nella programmazione: binari e di conteggio.

Semafori binari

Un semaforo binario è una variabile booleana che può avere solo due valori possibili (0 o 1). Viene spesso usato come blocco per limitare l'accesso a una funzione o a una risorsa. Per esempio, il semaforo A controlla la funzione getData(). Se A = 0, getData() non verrà eseguita. Se A = 1, getData() verrà eseguita. Un semaforo binario è anche considerato un flag o un interruttore che può essere acceso o spento.

Semafori di conteggio

Un semaforo di conteggio può essere un qualsiasi numero intero non negativo, noto anche come numero naturale. Il suo valore può aumentare o diminuire in base ai risultati di una o più funzioni. Per esempio, un semaforo di conteggio può tenere traccia del numero di risorse disponibili in un pool di risorse. Se il semaforo diminuisce più volte di quante aumenti, alla fine raggiungerà 0. Un valore pari a zero indica che non sono rimaste altre risorse.

NOTE: Un "semaforo" nel mondo reale è una bandiera o un altro oggetto usato per segnalare a distanza. Per esempio, una persona può sollevare un'asta da un molo per segnalare al capitano di un traghetto che desidera salire a bordo.

Aggiornato February 1, 2020 da Per C.

quizMetti alla prova le tue conoscenze

Which character is not supported the long filename (LFN) standard?

A
&
0%
B
:
0%
C
$
0%
D
!
0%
Correct! Incorrect!     View the LFN definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Semaforo in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.