Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 6386|Atbildi: 3

[Avots] Tiek izmantoti .NET Core augstas veiktspējas rindas kanāli

[Kopēt saiti]
Publicēts 2023-5-8 22:11:01 | | | |
System.Threading.Channels irJauni kolekciju veidi, kas ieviesti pēc .NET Core 3.0To var izmantot, lai ievietotu ziņojumus rindā, ražotu un patērētu datus, un publiskās Writer un Reader API atbilst ziņojumu ražotājiem un patērētājiem, kas arī padara Channel kodolīgāku un ērtāk lietojamu.

.NET/C# pamatā ir fona uzdevumu rinda BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html


System.Threading.Channels bibliotēka:Hipersaites pieteikšanās ir redzama.
Kanāla<T> klase:Hipersaites pieteikšanās ir redzama.

Kanāla veids

Microsoft piedāvā divu veidu kanālus: viens ir saistīts kanāls ar ierobežotu ietilpību un otrs ir nesaistīts kanāls ar neierobežotu ietilpību.

Kanāla ar ierobežotu ietilpību izveide:Channel.CreateBounded<string>(100);
Izveidojiet kanālu ar neierobežotu ietilpību:Channel.CreateUnbounded<string>();

Izveidojiet neierobežotu kanālu skaitu

Veidojot kanālu, varat iestatīt ChannelOptions SingleWriter un SingleReader, lai norādītu vienu ražotāju un patērētāju, kad kanāls ir iestatīts uz false, kad ir iestatīts SingleWriter = true, tas ierobežos tikai vienu ražotāju vienlaicīgi rakstīt datus, SingleReader = true ir vienāds.


Mēģiniet atvērt trīs ražotāja pavedienus un vienu patērētāja pavedienu ar šādu kodu:



Patērētājs izmanto WaitToReadAsync, lai gaidītu, līdz dati tiks nolasīti. Patērētāji mēģina nolasīt datus tikai pēc tam, kad tie ir pieejami.


Iepriekš minētajā kodā patērētāji lasa datus pa vienam, lai veiktu darbības, kā to izdarītDati par patēriņa apjomuKā ar apstrādes gabalu?

Izveidojiet jaunu ChannelReaderExtensions paplašinājumu ar šādu kodu:


Pielāgojiet patērētāja kodu šādi:



(Beigas)




Iepriekšējo:ASP.NET kodols (18) Vienkāršas OutputCache izvades kešatmiņas pielāgošana
Nākamo:[Faktiskā cīņa]. NET/C# bezsaistes IP adreses (mājas) meklētāju bibliotēka
Publicēts 2023-5-8 22:50:27 |
Iemācieties mācīties
Publicēts 2023-5-12 10:07:46 |
Iemācieties mācīties
Publicēts 2023-5-16 17:21:37 |
Iemācieties mācīties
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com