SORU
5 Mayıs 2009, Salı


Engelleme olmadan haberdar olmak için nasıl bir görev tamamlandığında?Java varisle:

Bir sıra icracı bir hizmet sunmak için ihtiyacım olan görevleri tam var. Bir kerede onlara işlenmiş istiyorum. Aklıma en basit yolu şudur:

  1. Sıradan bir görev
  2. Uygulamakla gönderin
  3. Ara .bir sonuç elde edilene kadar geri Gelecek ve blok
  4. Sıradan... başka bir görev alacak

Ancak, tamamen engellenmesini önlemek için çalışıyorum. Eğer onların görevleri bir kerede işlenmiş ihtiyacı olan 10,000 gibi kuyrukları var, çoğu engellenen iş parçacığı tutuyor olacak çünkü yetersiz yığın alanı araştıracağım.

İstediğim bir görev gönderme ve görev tamamlandığında denir-call back sağlamaktır. Bu ara da bir sonraki göreve göndermek için bir bayrak olarak bildirim kullanacağım. (functionaljava ve jetlang görünüşe göre bu tür engellenmeyen algoritmalar kullanır, ama onların kodu anlamak) edemem

Nasıl olduğunu GÖRDÜM java kullanarak bunu yapabilirim.açıklama.eşzamanlı, kendi vasisi benim yazma hizmeti mi tıkandı?

beni engelleyebilir kendisi, ama daha sonra ele alınması gereken bir konudur bu görevleri bu) besleyen (sıra

CEVAP
5 Mayıs 2009, Salı


Bir geri arama arabirimi tamamlanma bildirim iletmek istediğini almak için tanımlayın. O görevin sonunda çağırır. Çalıştırılabilir görevleri için genel bir sarıcı yazmak olabilir, ve ExecutorService Bu gönderin.

class CallbackTask implements Runnable {

  private final Runnable task;

  private final Callback callback;

  CallbackTask(Runnable task, Callback callback) {
    this.task = task;
    this.callback = callback;
  }

  public void run() {
    task.run();
    callback.complete();
  }

}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Associated Press

    Associated P

    18 EYLÜL 2006
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011