Spring Batch のちょっと怪しげなコード

なぜThread.sleep()を使わないのか?

org.springframework.batch.retry.backoff.FixedBackOffPolicy
/**
 * Pause for the {@link #backOffPeriod} using {@link Thread#sleep}.
 * @throws BackOffInterruptedException if interrupted during sleep.
 */
protected void doBackOff() throws BackOffInterruptedException {
    try {
        Object mutex = new Object();
        synchronized (mutex) {
            mutex.wait(this.backOffPeriod);
        }
    }
    catch (InterruptedException e) {
        throw new BackOffInterruptedException("Thread interrupted while sleeping", e);
    }
}