SORU
9 AĞUSTOS 2009, Pazar


Nasıl bütün konuları tamamlamak, ExecutorService kullanarak beklemek?

Bir anda görevleri miktar 4 yürütmek için böyle bir şeye ihtiyacım var:

ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
while(...) {
    taskExecutor.execute(new MyTask());
}
//...wait for completion somehow

Nasıl hepsi tamamlandıktan sonra bildirim alabilir miyim? Şimdi hatırlamıyorum hakkında bir şey daha iyi ayar, bazı küresel görev sayacı ve ma sonunda her görev, monitör, sonsuz döngü bu karşı olmak 0; ya da bir listenin Vadeli ve sonsuz döngü monitör isDone hepsi için. Kısır döngüler işin içine daha iyi çözümler nelerdir?

Teşekkürler.

CEVAP
9 AĞUSTOS 2009, Pazar


Temelde ExecutorService shutdown() awaitTermination() sonra Ara:

ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
while(...) {
  taskExecutor.execute(new MyTask());
}
taskExecutor.shutdown();
try {
  taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
  ...
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • RayperEnglishKnight

    RayperEnglis

    24 Kasım 2008
  • The Verge

    The Verge

    8 AĞUSTOS 2006