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

Görünüm: 57872|Yanıt: 7

[Kaynak] c# evrensel bir QueueHelper kuyruğunu kapsüller

[Bağlantıyı kopyala]
Yayınlandı 29.08.2018 10:39:11 | | | |
Günlük geliştirmede, "ilk girer, ilk çıkar" (ilk girer, ilk çıkar) sağlayan bir depolama yapısı olan kuyruklar kullanılabilir.

Uygulama senaryoları: kayıt yazmak, e-posta göndermek vb

Eğer verilerimizi talep eden her kullanıcının arayüz günlüğünü kaydetmemiz gerekiyorsa, kullanıcı her istediğinde günlük yazmamıza gerek yok, günlük içeriğini kuyruğa koyup diğer iş parçacıklarının çalıştırmasına izin verebiliriz, böylece uygulamanın verimliliği etkilenmez.

Bir diğer avantaj ise, eşzamanlılık durumunda kuyruğa veri eklemek, kuyruğun verilerini tek bir iş parçacığı kullanmak birçok istisnadan kaçınabilir; eşzamanlılık (çok iş parçacıklı) ise aynı fiziksel dosyaya erişim istisnalara yol açar. (müsaitliğe bağlı olarak)

Kuyruk evrensel yaklaşımı:

Bu bir soyut sınıftır ve bu soyutlama sınıfını devralıp Execute soyutlama yöntemini uygulamanız gerekir. Hangi tür veri işlemek istediğinizi bilmiyorum, burada genel veriler kullanılıyor, yani Entity string tipinde, metod parametreleri string tipinde, işlediğiniz veri ise string tipi veri.

ConcurrentQueue iş parçacığı güvenli kuyruğu, çok iş parçacıklı bir ortamda istisna olmamasını sağlar.

ManualResetEvent, iş parçacığının sinyalini kontrol etmek için,Geçmişte, kuyrukta veri için her birkaç saniyede veya dakikada bir kontrol ederdikŞimdi veriyi kuyruğa ekliyoruz ve sadece bir sinyal iletmemiz yeterli!

Kullanım:

(Son)




Önceki:Kurulum projesi paketi üretim süreci Birincil çıktı dosyası sorusunu kopyalamak istiyorum
Önümüzdeki:Redis Chinese numarası düzgün şekilde gösterilemiyor
 Ev sahibi| Yayınlandı 24.05.2019 10:13:59 |
Bir çerçeve önerin:

asp.net arka plan görevi hangfire framework eğitimi
https://www.itsvse.com/thread-7611-1-1.html
(Kaynak: Architect_Programmer)
Yayınlandı 10.09.2019 10:26:26 |
Test sınıfındaki Execute metodu neden çalıştırdığımda çalıştırılmıyor?
 Ev sahibi| Yayınlandı 10.09.2019 21:52:44 |
hano7758 2019-9-10 10:26 tarihinde gönderildi
Test sınıfındaki Execute metodu neden çalıştırdığımda çalıştırılmıyor?

Kodunuzu paylaşabilir misiniz?
 Ev sahibi| Yayınlandı 23.01.2021 11:53:46 |
.NET/C#, BlockingCollection arka plan görev kuyruğuna dayanmaktadır
https://www.itsvse.com/thread-9528-1-1.html

Yayınlandı 26.07.2021 14:09:53 |
Kodu nasıl görebilirsiniz?
Yayınlandı 26.09.2022 22:20:08 |
Nasıl kullanacağımı öğrenmem gerekiyor
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