Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 6386|Atsakyti: 3

[Šaltinis] Naudojami .NET Core didelio našumo eilės kanalai

[Kopijuoti nuorodą]
Publikuota: 2023-5-8 22:11:01 | | | |
System.Threading.Channels yraNauji kolekcijų tipai, pristatyti po .NET Core 3.0Jis gali būti naudojamas pranešimams dėlioti į eilę, duomenims gaminti ir vartoti, o viešosios rašytojo ir skaitytojo API atitinka pranešimų gamintojus ir vartotojus, todėl kanalas taip pat tampa glaustesnis ir paprastesnis naudoti.

.NET/C# yra pagrįstas BlockingCollection fonine užduočių eile
https://www.itsvse.com/thread-9528-1-1.html


System.Threading.Channels biblioteka:Hipersaito prisijungimas matomas.
Kanalo<T> klasė:Hipersaito prisijungimas matomas.

Kanalo tipas

"Microsoft" siūlo dviejų tipų kanalus: vienas yra susietas kanalas su ribota talpa, o kitas yra nesusietas kanalas su neribota talpa.

Ribotos talpos kanalo kūrimas:Channel.CreateBounded<string>(100);
Neribotos talpos kanalo kūrimas:Channel.CreateUnbounded<string>();

Sukurkite neribotą kanalų skaičių

Kurdami kanalą, galite nustatyti SingleWriter ir SingleReader iš ChannelOptions, kad nurodytų vieną gamintoją ir vartotoją, kai kanalas nustatytas kaip false, kai nustatytas SingleWriter = true, jis apribos tik vieno gamintojo galimybę rašyti duomenis vienu metu, SingleReader = true yra tas pats.


Pabandykite atidaryti tris gamintojo gijas ir vieną vartotojo giją, naudodami šį kodą:



Vartotojas naudoja "WaitToReadAsync", kad lauktų, kol duomenys bus perskaityti. Vartotojai bando perskaityti duomenis tik tada, kai jie yra prieinami.


Aukščiau pateiktame kode vartotojai po vieną skaito duomenis, kad atliktų operacijas, kaip jas padarytiMasinio vartotojų vartojimo duomenysO kaip dėl apdorojimo?

Sukurkite naują "ChannelReaderExtensions" plėtinį naudodami šį kodą:


Vartotojo kodą sureguliuokite taip:



(Pabaiga)




Ankstesnis:ASP.NET branduolys (18) Tinkinkite paprastą "OutputCache" išvesties talpyklą
Kitą:[Tikroji kova]. NET/C# neprisijungus prie interneto IP adreso (namų) lokatoriaus biblioteka
Paskelbta 2023-5-8 22:50:27 |
Išmokite mokytis
Paskelbta 2023-5-12 10:07:46 |
Išmokite mokytis
Publikuota: 2023-5-16 17:21:37 |
Išmokite mokytis
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com