SORU
24 EYLÜL 2008, ÇARŞAMBA


Nasıl bir çalışan iş parçacığı sabit bir sayı ile basit bir iş parçacığı uygulamak

En basit en kolay yolu için aşağıdakileri uygulamak için sabırsızlanıyorum:

  • Ana program başlatır işçi bir görevi gerçekleştirmek için iş parçacığı.
  • n Tek görevleri aynı anda çalıştırıyor olabilir.
  • n ulaşıldığında, artık işçilerin kadar sayıyorum başladı çalışan iş parçacığı geri n altına düşer.

CEVAP
24 EYLÜL 2008, ÇARŞAMBA


Executors.newFixedThreadPool ihtiyaçlarınıza uygun bence. Orada çok sayıda değişik yolları kullanın sonuç ExecutorService olmasına bağlı olarak istediğiniz sonucu iade için ana iş parçacığı, ya da görevini tamamen kendine yeten, ve olup olmadığını bir toplama görevleri gerçekleştirmek için ön veya görevleri sıraya yanıt bazı olay.

  Collection<YourTask> tasks = new ArrayList<YourTask>();
  YourTask yt1 = new YourTask();
  ...
  tasks.add(yt1);
  ...
  ExecutorService exec = Executors.newFixedThreadPool(5);
  List<Future<YourResultType>> results = exec.invokeAll(tasks);

Eğer biraz olaya yanıt olarak gerçekleştirmek için yeni zaman uyumsuz bir görev varsa, bunun yerine, sadece ExecutorService ** 5 basit yöntemi kullanmak istiyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • paikimchung

    paikimchung

    12 Mayıs 2006
  • Submissions101

    Submissions1

    23 ŞUBAT 2007