lunes, 4 de mayo de 2015

Semaforo




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