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

Görünüm: 60677|Yanıt: 4

[Kaynak] .NET/C#, BlockingCollection arka plan görev kuyruğuna dayanmaktadır

[Bağlantıyı kopyala]
2021-1-23 tarihinde 11:53:25 tarihinde yayınlandı | | | |
c# evrensel bir QueueHelper kuyruğunu kapsüller
https://www.itsvse.com/thread-5029-1-1.html
.NET/C#, BlockingCollection tabanlı basit logları uygular
https://www.itsvse.com/thread-9512-1-1.html
Senaryo: Belirli işlemler yapılırken, herhangi bir mesaj döndürülmesine gerek kalmaz ve arka planda işlenebilen fonksiyon, yürütülmek üzere arka planın herhangi bir bölümüne yerleştirilebilir. Örneğin: e-posta göndermek, kayıt yazmak vb.

Daha önce ConcurrentQueue ve Thread tabanlı görev kuyrukları hakkında yazmıştım, ancak bu makale bunu daha iyi yapmak için BlockingCollection kullanıyor.

QueueBlockingCollection kodu şu şekildedir:

Örneğin, QueueBlockingCollection soyut sınıfını devralan bir mesaj gönderen bir arka plan görevi uygulayalım, aşağıdaki gibi:

Çağrı yöntemi şöyledir:


Basit konsol arka plan çıkış dizisi, kod şu şekildedir:

Çizimler aşağıdaki gibidir:



(Son)




Önceki:ASP.NET Core, nesnelere serilenemeyen POST JSON parametrelerini alır
Önümüzdeki:.net/c# %100 CPU işlemci kullanımını sağlar
 Ev sahibi| 2021-6-11 tarihinde 15:05:55 tarihinde yayınlandı |
Kod biraz sorunlu, en son kod şöyle:


2023-4-10 tarihinde 17:35:55 tarihinde yayınlandı |
Bir bakacağım
2023-5-8 09:58:53 tarihinde yayınlandı |
Tüketiciler ayrıca şu kodlarla da mesaj alabilirler:

 Ev sahibi| 2023-5-8 tarihinde yayınlandı 22:13:24 |
.NET Core yüksek performanslı kuyruk kanalları kullanılır
https://www.itsvse.com/thread-10584-1-1.html
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