SORU
5 AĞUSTOS 2011, Cuma


CancellationTokenSource elden ne zaman?

CancellationTokenSource ve reflektör bak tek kullanımlık hızlı sınıfının çok büyük ihtimalle yönetilmeyen kaynak kullanımı KernelEvent kanıtlıyor. Eğer GC alışkanlık bunu elden yaparsak yani hiçbir sonlandırıcı vardır.

Eğer MSDN Cancelation makale örnekleri bakarsanız diğer taraftan tüm kod parçacıkları dışında bunu yapmayın.

Zor bir kod bunu yapmak için doğru yer ve zaman bulmak gibi görünüyor.

  1. Eğer beklemek Eğer using paralel görev başlangıç kodu sarabilirsiniz. Ve duygusu varsa bekle yoksa sadece iptal olacak cinsten.
  2. Elbette Dispose bir çağrı ile görev üzerinde ContinueWith ekleyebilirsiniz, ama yapmamız gereken bu.
  3. Ne geri senkronize olmayan PLINQ sorgu, iptal edilebilir, ama sonunda somenthing mı? .ForaAll(x=> Console.Write(x)) diyelim?
  4. Tek kullanımlık mı? Aynı şekilde birkaç çağrıları yeniden ve ana bileşen ile birlikte atmayın sonra, UI kontrol diyelim?

Çünkü var olmayan bir şey gibi Reset yöntem için temizlik IsCancelRequested Token Pazartesi günü bir kez daha düşün, ne de tekrar kullanılabilir, böylece her zaman başlamadan bir görev (veya PLINQ sorgu) gerekir oluştur yeni bir tane. Doğru mu? Evet, benim sorum şu CancelationTokenSource birçok örnekleri Dispose ile başa çıkmak için doğru ve önerilen strateji nedir?

CEVAP
18 EYLÜL 2012, Salı


Eğer gerçekten gerekli CancellationTokenSource üzerine Atma aramak eğer hakkında konuşma... projemi bir bellek sızıntısı vardı ve CancellationToken(Kaynak) sorunu olduğu ortaya çıktı...

projem bir hizmet, sürekli okuma ve veritabanı patlar, farklı bir görev ve ben geçen bağlı iptal belirteçleri için benim işçiler, daha sonra vardı bitmiş işleme veri iptal belirteçleri değildi bertaraf, neden bellek sızıntısı bir olay.

ve MSDN http://msdn.microsoft.com/en-us/library/dd997364.aspx aslında açıkça belirtir: Onunla işiniz bittiğinde bağlantılı token kaynağında Bertaraf çağırmalısınız dikkat edin. Daha kapsamlı bir örnek, Nasıl yapılır: Birden çok İptal İsteklerini Dinle.

ContinueWith ederdim

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • FRED

    FRED

    1 EKİM 2005
  • OVERWERK

    OVERWERK

    6 Temmuz 2010