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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Gali B

    Gali B

    1 EYLÜL 2006
  • pain975

    pain975

    27 NİSAN 2008