Yönetilen iş parçacıklarındaki özel durumlar

Ortak dil çalışma zamanı, iş parçacıklarındaki işlenmeyen özel durumların çoğunun doğal olarak ilerlemesine olanak tanır. Çoğu durumda bu, işlenmeyen özel durumun uygulamanın sonlandırılmasına neden olduğu anlamına gelir. Ancak ortak dil çalışma zamanı, program akışını denetlemek için kullanılan belirli işlenmemiş özel durumlar için bir arka uç sağlar:

  • çağrıldığından ThreadAbortException bir iş parçacığında Abort oluşturulur. Bu yalnızca .NET Framework uygulamaları için geçerlidir.

  • İş AppDomainUnloadedException parçacığının yürütülmekte olduğu uygulama etki alanı kaldırıldığı için bir iş parçacığında oluşturulur.

  • Ortak dil çalışma zamanı veya konak işlemi, iç özel durum oluşturarak iş parçacığını sonlandırır.

Bu özel durumlardan herhangi biri ortak dil çalışma zamanı tarafından oluşturulan iş parçacıklarında işlenmemişse, özel durum iş parçacığını sonlandırır, ancak ortak dil çalışma zamanı özel durumun daha fazla ilerlemesine izin vermez.

Bu özel durumlar ana iş parçacığında veya çalışma zamanına yönetilmeyen koddan giren iş parçacıklarında işlenmemişse normal şekilde devam eder ve uygulamanın sonlandırılmasına neden olur.

Not

Herhangi bir yönetilen kodun özel durum işleyicisi yükleme şansı olmadan çalışma zamanının işlenmeyen bir özel durum oluşturması mümkündür. Yönetilen kodun böyle bir özel durumu işleme şansı olmasa da, özel durumun doğal olarak ilerlemesine izin verilir.

Geliştirme sırasında iş parçacığı oluşturma sorunlarını ortaya çıkarma

İş parçacıklarının uygulamayı sonlandırmadan sessizce başarısız olmasına izin verildiğinde, ciddi programlama sorunları algılanmadan gidebilir. Bu, uzun süreler boyunca çalışan hizmetler ve diğer uygulamalar için belirli bir sorundur. İş parçacıkları başarısız olduğunda, program durumu yavaş yavaş bozulur. Uygulama performansı düşebilir veya uygulama yanıt vermemeye başlayabilir.

İşletim sistemi programı sonlandırana kadar iş parçacıklarında işlenmeyen özel durumların doğal olarak ilerlemesine izin vermek, geliştirme ve test sırasında bu tür sorunları ortaya çıkarır. Program sonlandırmalarıyla ilgili hata raporları hata ayıklamayı destekler.

Ana bilgisayar geçersiz kılma

Yönetilmeyen bir konak, ortak dil çalışma zamanının varsayılan işlenmeyen özel durum ilkesini geçersiz kılmak için Barındırma API'sindeki ICLRPolicyManager arabirimini kullanabilir. ICLRPolicyManager::SetUnhandledExceptionPolicy işlevi, işlenmeyen özel durumlar için ilkeyi ayarlamak için kullanılır.

Ayrıca bkz.