Boa noite pessoal, gostaria de saber se alguém pode ajudar com um problema de sincronização de threads que estou tendo em meu codigo. O que acontece é que tenho 2 objetos acessando o mesmo método, porem os ao decorrer desse método eu tenho um sleep(numero), dessa forma o 2 entra enquanto o 1 está no sleep, porem isso não era pra acontecer.
public void disco(int processoId, int usoDisco) throws InterruptedException {
synchronized (OperadorRunnable.class) {
System.out.println("Processo " + processoId + " usando o disco");
Thread.sleep(usoDisco);//simulando o uso de disco
System.out.println("Processo " + processoId + " liberando o disco");
}
}//o processo um entra, e o 2 entra pq o 1 entrou no sleep, alguem sabe como evitar isso?