SEMÁFOROS
Los semáforos se emplean para permitir el acceso a
diferentes partes de programas (llamados secciones críticas) donde se manipulan
variables o recursos que deben ser accedidos de forma especial. Según el valor
con que son inicializados se permiten a más o menos procesos utilizar el
recurso de forma simultánea.
Ejemplo de uso
Los semáforos pueden ser usados para diferentes
propósitos, entre ellos:
·
Implementar cierres de exclusión mutua o locks
·
Barreras
·
Permitir a
un máximo de N threads (hilos) acceder a un recurso, inicializando el
semáforo en N
·
Notificación.
Inicializando el semáforo en 0 puede usarse para comunicación entre threads sobre
la disponibilidad de un recurso
En el siguiente ejemplo se crean y ejecutan n procesos
que intentarán entrar en su sección crítica cada vez que puedan, y lo lograrán
siempre de a uno por vez, gracias al uso del semáforos inicializado en 1. El
mismo tiene la misma función que un lock.Vídeo de Complemento

No hay comentarios.:
Publicar un comentario