Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 6386|Svare: 3

[Kilde] .NET Core høyytelses køkanaler brukes

[Kopier lenke]
Publisert 2023-5-8 22:11:01 | | | |
System.Threading.Channels erNye samlingstyper introdusert etter .NET Core 3.0Den kan brukes til å sette meldinger i kø, produsere og konsumere data, og de offentlige Writer- og Reader-API-ene tilsvarer produsenter og brukere av meldinger, noe som også gjør Channel mer konsist og brukervennlig.

.NET/C# er basert på BlockingCollection bakgrunnsoppgavekøen
https://www.itsvse.com/thread-9528-1-1.html


System.Threading.Channels-biblioteket:Innloggingen med hyperkoblingen er synlig.
<T> Kanalklasse:Innloggingen med hyperkoblingen er synlig.

Kanaltype

Microsoft tilbyr to typer kanaler, én er en bundet kanal med begrenset kapasitet og én er en ubundet kanal med ubegrenset kapasitet.

Lag en kanal med begrenset kapasitet:Channel.CreateBounded<string>(100);
Lag en kanal med ubegrenset kapasitet:Channel.CreateUnbounded<string>();

Lag ubegrensede kanaler

Når du oppretter en kanal, kan du sette SingleWriter og SingleReader i ChannelOptions til å spesifisere en enkelt produsent og konsument når kanalen settes til falsk, når SingleWriter = true er satt, vil det begrense kun én produsent til å skrive data samtidig, SingleReader = true er det samme.


Prøv å åpne tre produsenttråder og én forbrukertråd med følgende kode:



Forbrukeren bruker WaitToReadAsync for å vente på at dataene skal leses. Forbrukere forsøker å lese dataene først etter at de er tilgjengelige.


I koden ovenfor leser forbrukerne data én etter én for å utføre operasjoner, hvordan de skal lage demBulkforbrukerdataHva med et stykke prosessering?

Opprett en ny ChannelReaderExtensions-utvidelse med følgende kode:


Juster forbrukerkoden som følger:



(Slutt)




Foregående:ASP.NET Core (18) Tilpass en enkel OutputCache-utdatacache
Neste:[Faktisk kamp]. NET/C# offline IP-adresse (hjemme) lokaliseringsbibliotek
Publisert 2023-5-8 22:50:27 |
Lær å lære
Publisert 2023-05-12 10:07:46 |
Lær å lære
Publisert 16.05.2023 kl. 17:21:37 |
Lær å lære
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com