SORU
1 EKİM 2009, PERŞEMBE


BackgroundWorker vs arka plan iş Parçacığı

Windows form uygulaması kullanmalıyım arka plan iş parçacığı uygulama seçimi hakkında biçimsel bir sorum var. Şu anda bir BackgroundWorker (while(true)) sonsuz bir döngüye sahip bir form var. Bu döngü içinde ilgi çekici bir şey olana kadar WaitHandle.WaitAny iplik ertelemek tutmak için kullanıyorum. Ben beklemek işleme olay bir "StopThread" çemberin dışında kırabilirim bu olay. Bu olay benim geçersiz Form.Dispose() sinyal.

Okumuştum bir yerde BackgroundWorker çok amaçlı işlemleri istemiyorsun bağla UI ile ve bir sonlu sonu gibi indirme bir dosya veya İşlem bir sıra öğeleri. Bu durumda "son" pencere kapatıldığında. bilinmeyen ve sadece Bana bu amaç için BackgroundWorker yerine bir arka plan iş Parçacığı kullanmak için daha uygun olur mu bu yüzden?

CEVAP
2 EKİM 2009, Cuma


Bazı düşüncelerimi...

  1. Eğer arka planda çalışan tek bir görev varsa BackgroundWorker Kullanım ve kullanıcı arayüzü ile etkileşim gerekiyor. UI iş parçacığı için sıralanırken veri ve Yöntem çağrıları görevi otomatik olarak olay tabanlı modeli ile işlenir. Önlemek BackgroundWorker...
    • derleme ya da doğrudan UI ile etkileşim değil
    • ön plan iş parçacığı bir iş parçacığı olması gerekir ya
    • iş parçacığı önceliği işlemek gerekir.
  2. Verimliliği istenen durumlarda ThreadPool bir iplik kullanın. Havuzu yükü oluşturma ile ilgili önlemek için, başlangıç ve iş parçacığı durdurmak yardımcı olur. Önlemek Havuzu kullanıyorsanız...
    • görev uygulamanızın ömrü boyunca, çalışır
    • iplik ön plan iş parçacığı olmak gerekir
    • iş parçacığı önceliği işlemek gerekir, ya da
    • iplik sabit bir kimlik (,, keşfetmek askıya iptal) olması gerekir.
  3. Kullanım Thread sınıf için uzun süren görevleri ve ne zaman ihtiyacınız sunduğu özelliklere göre bir resmi iş parçacığı modeli, örneğin, seçme arasında ön plan ve arka plan iş parçacığı, iş parçacığı öncelik verdiği, ince taneli kontrolü iş parçacığı yürütme, vb.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • natescamp

    natescamp

    30 NİSAN 2009
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009