Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 18422|Yanıt: 1

[Kaynak] C# Thread threads kullanmayı öğreniyor

[Bağlantıyı kopyala]
Yayınlandı 27.03.2017 17:32:28 | | |

. .NET framework, C# için bir çalışma zamanı sınıf kütüphanesidir. .NET çok iş parçacıklı bir ortamdır. Bir iş parçacığı, bir süreçte tek ardışık bir kontrol sürecidir. Bir iş parçacığı, bir süreçteki bir varlıktır. Bir süreç birden fazla iş parçacığına sahip olabilir ve bir iş parçacığında ana süreç olmalıdır.

     İş parçacıklarının genellikle üç temel durumu vardır: okuma, engelleme ve işletme. Üç temel durumdan beş temel iş parçacığı işlemi türetilir. Birincisi, türet, iş parçacıkları bir süreç içinde türetilir. İkinci olarak, işlem durumuna girmek için hazır bir iş parçacığı seçin. Üçüncüsü, blokla, eğer bir iş parçacığı yürütme sırasında bir olayın gerçekleşmesini beklemesi gerekiyorsa, bloklanır. Dördüncüsü, bloktan çıkar, etkinlik başlarsa iş başlığı açılır ve hazır kuyruğuna girer. Beşinci olarak, iş parçacığı sona erer ve çalıştırdığı kayıt bağlamı ile yığın içeriği serbest bırakılır.

     Yeni bir iş dizi, henüz kaynak tahsis etmemiş yeni oluşturulan bir iş parçacığı nesnesidir. Bu nedenle sadece start() veya close() yöntemlerini kullanabilirsiniz.

     Çalıştırılabilir durum, iş parçacığının start() metodu çalıştıktan sonra iş parçacığı için gerekli kaynakları alıp run() metodunu çalıştırması için çağırdığı durumdur.

     Çalıştırılanamaz durumu, aşağıdaki olaylar gerçekleştiğinde giren bir durumdur; suspend() yöntemi çağrılır, sleep() yöntemi çağrılar, iş parçacığı wait() kullanır ve iş parçacığı I/O bekler.

    Ölü, Run() yönteminin geri dönmesi veya başka bir iş parçacığı stop() metodunu çağırması ve iş parçacığı ölü duruma girmesiyle gerçekleşir. Aşağıda Thread'e iki basit örnek verilmektedir.


Özet: Neden Thread (çoklu iş parçacığı) kullanılıyor, bu ana iş parçacığını engellemek için, büyük miktarda veri işlemeniz gerekiyorsa veya zaman alıcı bir yöntem çağırmanız gerekiyorsa, Thread multi-threading kullanmamız gerekiyor.

Örnek:


Multithreading kullanılmıyor: Arayüz yanıt vermiyor... Çünkü çoklu iş parçacığı kullanılmıyor




Önceki:"Anne hakaret davası"nın arkasındaki emlak patronu Wu Xuezhan kim?
Önümüzdeki:BundleTable, min ile js ve css dosyalarını yüklemez
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com