Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 6386|Odgovoriti: 3

[Vir] Uporabljajo se .NET Core visokozmogljivi kanali čakalnih vrst

[Kopiraj povezavo]
Objavljeno 2023-5-8 22:11:01 | | | |
System.Threading.Channels jeNove vrste zbirk, uvedene po .NET Core 3.0Uporablja se lahko za čakalno vrsto sporočil, ustvarjanje in porabo podatkov, javni API-ji za pisce in bralce pa ustrezajo proizvajalcem in uporabnikom sporočil, kar Channel naredi bolj jedrnat in enostaven za uporabo.

.NET/C# temelji na ozadju naloge BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html


Knjižnica System.Threading.Channels:Prijava do hiperpovezave je vidna.
<T> Razred kanala:Prijava do hiperpovezave je vidna.

Vrsta kanala

Microsoft ponuja dve vrsti kanalov: eden je vezan kanal z omejeno kapaciteto, drugi pa neomejen kanal z neomejeno kapaciteto.

Ustvarite kanal z omejeno kapaciteto:Channel.CreateBounded<string>(100);
Ustvarite kanal z neomejeno kapaciteto:Channel.CreateUnbounded<string>();

Ustvarite neomejeno število kanalov

Pri ustvarjanju kanala lahko nastavite SingleWriter in SingleReader ChannelOptions, da določita enega proizvajalca in potrošnika, ko je kanal nastavljen na false; ko je SingleWriter = true nastavljen, bo omejil le en producent, da hkrati piše podatke, SingleReader = true je enako.


Poskusi odpreti tri delavske in eno potrošniško nit z naslednjo kodo:



Potrošnik uporablja WaitToReadAsync za čakanje, da se podatki preberejo. Potrošniki poskušajo podatke prebrati šele, ko so ti na voljo.


V zgornji kodi potrošniki berejo podatke enega za drugim, da izvedejo operacije, kako jih nareditiPodatki o potrošnji za potrošnike v večjem številuKaj pa kakšen kos obdelave?

Ustvarite novo razširitev ChannelReaderExtensions z naslednjo kodo:


Prilagodite potrošniško kodo na naslednji način:



(Konec)




Prejšnji:ASP.NET Core (18) Prilagodite preprost izhodni predpomnilnik OutputCache
Naslednji:[Dejanski boj]. NET/C# knjižnica za iskanje IP naslovov brez povezave (doma)
Objavljeno 8. 5. 2023 ob 22:50:27 |
Uči se učiti
Objavljeno 12. 5. 2023 ob 10:07:46 |
Uči se učiti
Objavljeno 16. 5. 2023 ob 17:21:37 |
Uči se učiti
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com