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.
Um mínimo de sincronização você vai ter que usar, ou não será capaz de usar o wait() e o notifyAll().
Em todo caso, vale a pena ler como se faz em C, num livro de sistemas operacionais. Você precisará a trabalhar com uma região crítica, e provavelmente terá que criar sua própria classe de semáforo para fazer o controle.
PS: Threads e sincronização jamais é um assunto “básico”. Vou mover seu tópico para Java Avançado.