SORU
12 Kasım 2010, Cuma


Java eşzamanlılık: geri Sayım vs Siklik bariyer mandalı

java.util.concurrent API ile okuyordum ve bunu buldum

  • CountDownLatch: bir veya daha çok iş parçacığı işlemleri diğer konuları da gerçekleştirilen bir dizi beklemek sağlayan yardım tamamlar eşitleme.
  • CyclicBarrier: engel ortak bir noktaya ulaşmak için iş parçacığı bir dizi herkes birbirini beklemesini sağlayan Bir senkronizasyon yardım.

Benim için ikisi de eşit gibi görünüyor, ama çok daha fazlası var eminim.

CoundownLatch, the countdown value could not be reset, that can happen in the case of CyclicBarrier örneğin,.

İkisi arasında başka bir fark var mı?
Birileri geri sayım değerini sıfırlamak için isteyeceği use cases nedir?

CEVAP
12 Kasım 2010, Cuma


Bir önemli fark CyclicBarrier ortak bariyer koşul olduğunu bir kez çalıştırmak (isteğe bağlı) Çalıştırılabilir bir görev alır.

Ayrıca müşteriler bariyer bekleyen sayısını ve numarasını bariyer tetiklemek için gerekli sağlar. Bir kez harekete engel sıfırlanır ve tekrar kullanılabilir.

Basit kullanım durumları vb başlangıç hizmetleri için... bir CountdownLatch iyi. Bir CyclicBarrier koordinasyon daha karmaşık görevler için yararlıdır. Böyle bir şey bir örnek tür MapReduce gibi paralel hesaplama birden fazla alt görevler hesaplama dahil olduğu - olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • RickardRick

    RickardRick

    9 Mart 2007
  • whatever

    whatever

    30 EYLÜL 2005