Semáforo
En informática, un semáforo es una variable que controla el acceso a uno o más recursos. Es una herramienta que los desarrolladores usan para garantizar que las funciones solo accedan a datos válidos y se ejecuten en el momento adecuado. Un semáforo puede evitar un interbloqueo o una condición de carrera al impedir el acceso a un recurso cuando no está disponible.
Hay dos tipos principales de semáforos en la programación informática: binarios y contadores.
Semáforos binarios
Un semáforo binario es una variable booleana que solo puede tener dos valores posibles (0 o 1). A menudo se usa como un bloqueo para restringir el acceso a una función o recurso. Por ejemplo, el semáforo A controla la función getData(). Si A = 0, getData() no se ejecutará. Si A = 1, getData() se ejecutará. Un semáforo binario también se considera una bandera o un interruptor que está encendido o apagado.
Semáforos contadores
Un semáforo contador puede ser cualquier entero no negativo, también conocido como número entero. Su valor puede aumentar o disminuir según los resultados de una o más funciones. Por ejemplo, un semáforo contador puede llevar un registro del número de recursos disponibles en un grupo de recursos. Si el semáforo disminuye más veces de las que aumenta, con el tiempo llegará a 0. Un valor de cero indica que no quedan más recursos.
NOTE: Un "semáforo" en el mundo real es una bandera u otro objeto que se usa para enviar señales a distancia. Por ejemplo, una persona puede levantar un poste desde un muelle para indicar al capitán de un ferry que desea subir a bordo.
Pon a prueba tu conocimiento