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

  • FND Films

    FND Films

    2 Mayıs 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006