Нить может использовать Object.wait()
для блокировки, пока другой поток не вызовет notify()
или notifyAll()
на этом объекте.
Но что, если поток хочет подождать до тех пор, пока не будет отмечен один из нескольких объектов? Например, мой поток должен ждать, пока или a) байт станет доступным для чтения из InputStream
или b) элемент добавляется к ArrayList
.
Как поток может ожидать какого-либо из этих событий?
ИЗМЕНИТЬ
Этот вопрос связан с ожиданием завершения нескольких потоков - в моем случае задействован поток, ожидающий, когда один из многих объектов будет заменен.