Beispiel #1
0
 /// <summary>
 /// Método responsável por liberar os semáforos a partir do índice atual dos semáforos.
 /// </summary>
 /// <param name="semaforosPorIntervalo">Lista de semáforos</param>
 /// <param name="indice">Indice da posicao do semáforo</param>
 public static void LiberarSemaforo(List <SemaforoPorIntervalo> semaforosPorIntervalo, int indice)
 {
     for (int i = indice; i < semaforosPorIntervalo.Count; i++)
     {
         SemaforoPorIntervalo.LiberarSemaforo(semaforosPorIntervalo[i]);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Método responsável por Liberar um semáforo e decrementar o contador, que indica se um semáforo está em espera, dos demais semáforos da lista que seria usada.
 /// </summary>
 /// <param name="semaforoPorIntervalo">Semáforo para liberar</param>
 /// <param name="semaforosPorIntervalo">Lista de semáforos para decrementar o contador em espera</param>
 /// <param name="indice">índice em que a lista irá começar a decrementar</param>
 public static void LiberarSemaforoEDecrementarContadoresEmEsperaDosDemaisSemaforos(SemaforoPorIntervalo semaforoPorIntervalo, List <SemaforoPorIntervalo> semaforosPorIntervalo, int indice = 0)
 {
     SemaforoPorIntervalo.LiberarSemaforo(semaforoPorIntervalo);
     SemaforoPorIntervalo.DecrementarContadorSemaforoEmEspera(semaforosPorIntervalo, indice);
 }
Beispiel #3
0
 /// <summary>
 /// Método responsável por liberar um semáforo que está em espera e diminuir o atributo que indicar que ele está em espera.
 /// </summary>
 /// <param name="semaforoPorIntervalo">Semáforo para ser liberado</param>
 public static void LiberarSemaforoEDecrementarContadorSemaforoEmEspera(SemaforoPorIntervalo semaforoPorIntervalo)
 {
     SemaforoPorIntervalo.LiberarSemaforo(semaforoPorIntervalo);
     SemaforoPorIntervalo.DecrementarContadorSemaforoEmEspera(semaforoPorIntervalo);
 }