Java simultanéité: le compte à Rebours loquet vs Cyclique de la barrière

Je lisais le java.util.simultanée de l'API, et a constaté que

  • CountDownLatch: Une synchronisation de l'aide qui permet à un ou plusieurs threads d'attendre jusqu'à ce qu'un ensemble d'opérations effectuées dans d'autres threads complète.
  • CyclicBarrier: Une synchronisation de l'aide qui permet à un ensemble de threads à tous d'attendre les uns des autres, pour arriver à une barrière point.

Pour moi les deux semble égal, mais je suis sûr qu'il ya beaucoup plus à elle.

Par exemple, dans CoundownLatch, the countdown value could not be reset, that can happen in the case of CyclicBarrier.

Est-il une autre différence entre les deux?
Quelles sont les use cases où quelqu'un voudrait pour réinitialiser la valeur du compte à rebours?

Les loquets sont en attente pour les événements; les obstacles sont en attente pour les autres threads. - Java de la Simultanéité dans la Pratique, B. Goetz et coll.

OriginalL'auteur daydreamer | 2010-11-12