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

  • manadude21

    manadude21

    11 Mart 2008
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Pituvision

    Pituvision

    11 Mart 2006