İş parçacıkları ve iş parçacığı oluşturmayı kullanma
Makale
.NET ile aynı anda birden çok işlem gerçekleştiren uygulamalar yazabilirsiniz. Diğer işlemleri tutma potansiyeline sahip işlemler, çoklu iş parçacığı oluşturma veya serbest iş parçacığı oluşturma olarak bilinen bir işlem olan ayrı iş parçacıklarında yürütülebilir.
Çok iş parçacığı kullanan uygulamalar, işlemci yoğunluklu görevler ayrı iş parçacıklarında yürütülürken kullanıcı arabirimi etkin kaldığından kullanıcı girişlerine daha duyarlıdır. İş yükü arttıkça iş parçacıkları ekleyebildiğiniz için ölçeklenebilir uygulamalar oluşturduğunuzda da çok iş parçacığı kullanımı yararlı olur.
Bazen iş parçacığını işbirliğiyle durdurmak mümkün değildir çünkü işbirlikçi iptal için tasarlanmamış üçüncü taraf kodu çalıştırır. Bu durumda yürütmesini zorla sonlandırmak isteyebilirsiniz. bir iş parçacığının yürütülmesini zorla sonlandırmak için .NET Framework'te yöntemini kullanabilirsiniz Thread.Abort . Bu yöntem, çağrıldığı iş parçacığında bir ThreadAbortException oluşturur. Daha fazla bilgi için bkz . İş parçacıklarını yok etme. Thread.Abort yöntemi .NET Core'da desteklenmez. Üçüncü taraf kodun yürütülmesini .NET Core'da zorla sonlandırmanız gerekiyorsa, ayrı işlemde çalıştırın ve yöntemini kullanın Process.Kill .
System.Threading.CancellationToken.NET Framework 4'ün öncesinde kullanılamaz. Eski .NET Framework sürümlerinde iş parçacığını durdurmak için iş parçacığı eşitleme tekniklerini kullanarak işbirliğine dayalı iptal işlemini el ile uygulayın. Örneğin geçici boole alanını shouldStop oluşturabilir ve iş parçacığı tarafından yürütülen kodun durdurulmasını istemek için kullanabilirsiniz. Daha fazla bilgi için C# Başvurusu ve System.Threading.Volatileiçinde geçici bölümüne bakın.
Thread.Join Çağıran iş parçacığının durdurulan iş parçacığının sonlandırılmasını beklemesini sağlamak için yöntemini kullanın.
Nasıl yapılır: bir iş parçacığını duraklatma veya kesme
Geçerli iş parçacığını Thread.Sleep belirli bir süre duraklatmak için yöntemini kullanırsınız. yöntemini çağırarak engellenen bir iş parçacığını kesintiye Thread.Interrupt uğratabilirsiniz. Daha fazla bilgi için bkz . İş parçacıklarını duraklatma ve kesintiye uğratma.
İş parçacığı özellikleri
Aşağıdaki tabloda bazı özellikler yer alır Thread :
İş parçacığının arka plan iş parçacığı olup olmadığını belirten bir Boole değeri alır veya ayarlar. Arka plan iş parçacıkları ön plan iş parçacıkları gibidir. Ancak arka plan iş parçacığı bir işlemin durmasını engellemez. Bir işleme ait tüm ön plan iş parçacıkları durdurulduktan sonra ortak dil çalışma zamanı, hala etkin olan arka plan iş parçacıklarında yöntemini çağırarak Abort işlemi sonlandırır. Daha fazla bilgi için bkz . Ön Plan ve Arka Plan İş Parçacıkları.
İş parçacığı zamanlamasını önceliklendirmek için işletim sistemi tarafından kullanılan bir ThreadPriority değeri alır veya ayarlar. Daha fazla bilgi için bkz . İş parçacıklarını zamanlama ve ThreadPriority başvuru.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Bu modülde C# konsol uygulamasında özelleştirilmiş özel durumlar oluşturma, oluşturma ve yakalama işlemi incelenmiştir. Uygulamalı etkinlikler, özel durum özelliklerini özelleştirme, özel durumlar oluşturma ve bir catch bloğu içindeki özel durumu azaltmak için özel durum özelliklerini kullanma deneyimi sağlar.