public void TNovosCliente()
        {
            while (true)
            {
                Random r = new Random();
                Thread.Sleep(r.Next(limiteE, limiteD));
                mutex.WaitOne();
                Cliente novoCliente = new Cliente(contador); //novo cliente gerado
                contador++;
                FilaClientes.Enqueue(novoCliente);           //novo cliente adiciona a fila de espera

                if (FilaClientes.Count == 5)
                {
                    Console.WriteLine("\nFila de clientes está cheia. Thread de novos clientes será bloqueada.");
                }

                semaphoreClientes.WaitOne();
                Console.WriteLine("\nCliente {0} entrou na fila.", novoCliente.ID);


                if (Barbeiro1.Dormindo)  //se o barbeiro estiver dormindo
                {
                    Barbeiro1.Acordar(); //acorda o barbeiro
                }

                semaphoreBarbeiro.Release();

                mutex.ReleaseMutex();
            }
        }
        public void TBarbeiro()
        {
            while (true)
            {
                if (FilaClientes.Count == 0 && !Barbeiro1.Dormindo)
                {
                    Console.WriteLine("\nNão há clientes na fila. Thread do barbeiro será bloqueada");
                    Barbeiro1.Dormir();
                }

                semaphoreBarbeiro.WaitOne();
                mutex.WaitOne();
                Cliente clienteFazendoBarba = FilaClientes.Dequeue(); //tira cliente da fila
                mutex.ReleaseMutex();
                Barbeiro1.FazerBarba(clienteFazendoBarba);            //Barbeiro faz a barba do cliente
                semaphoreClientes.Release();                          //incrementa no semaforo de clientes
            }
        }