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

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • Stanislav Petrov

    Stanislav Pe

    7 ŞUBAT 2009