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

  • calicoJake

    calicoJake

    29 EKİM 2007
  • Phandroid

    Phandroid

    26 Ocak 2009
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006