Разница между ожиданием-уведомлением и CountDownLatch

Мне нужна помощь в понимании преимуществ использования CountDownLatch по сравнению с традиционным ожиданием-уведомлением. Я думаю, что notifyAll() действительно делает то же самое, и кажется проще в использовании (может быть, из-за знакомства)

Кроме того, в чем разница между wait() и await() из CountDownLatch?

Спасибо!

РЕДАКТИРОВАТЬ: Думаю, мне нужно перефразируя мои запросы:

Await() в соответствии с документацией говорит:

Заставляет текущий поток ждатьдо тех пор, пока защелка не совершит обратный отсчет до нуля, если поток не прерван.

Для меня трудно увидеть разницу между ожиданием() и ожиданием() - await() действительно использует ожидание() под прикрытием, и, кажется, есть неявный метод notifyAll(), когда счетчик достигает нуля.

Что я имел в виду спросите, почему бы мне просто не использовать механизм wait-notifyAll() (с моей собственной обработкой переменной счетчика), а не использовать CountDownLatch?

6
задан Jaguar 15 May 2012 в 04:32
поделиться