Nao estou conseguindo implementar um semáforo (sem usar a classe semaphore ) em java 
Ja procurei pra caramba no Google e ainda não tive uma ideia de como fazer .
O professor disse que nao valia usar “sincronização dos monitores” (Sei nem o que é isso :? ) e nem usar aqueles algoritmos em que um laço infinito fica prendendo as Threads e consumindo processamento sem necessidade.
A unica coisa que consegui pensar ate agora é que vou ter que fazer uma lista do tipo fila (circular) e que vou fazer todas as Threads que derem start pararem e adicionalas nessa lista e executar a primeira a ser adicionada, depois que a primeira sair da seçao critica vou para-la e executar a segunda e assim por diante. O problema ta nesse parar e continuar que eu nao se fazer
Os metodos da classe Thread sao deprecated.
Alguem pode oferecer alguma luz ?