Sincronização de threads

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?