Нет. Вам нужно время, потому что может быть несколько потоков, ожидающих открытия пространства в очереди, и вызовы notifyAll () разбудят их всех.
Метод wait () фактически освобождает монитор синхронизации, чтобы другие потоки могли работать. Если этого не произойдет, то любой поток, пытающийся удалить материал из очереди, также застрянет, ожидая ввода синхронизированного блока в методе get () (например).
Только один из ожидающих потоков увидит частично пустую очередь.
На самом деле, никто из них не может; потоки могли быть разбужены с помощью notifyAll по какой-то совершенно не связанной причине.