Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 6386|Svar: 3

[Kilde] .NET Core højtydende køkanaler bruges

[Kopier link]
Opslået den 2023-5-8 kl. 22:11:01 | | | |
System.Threading.Channels erNye samlingstyper introduceret efter .NET Core 3.0Den kan bruges til at stille beskeder i kø, producere og forbruge data, og de offentlige Writer- og Reader-API'er svarer til producenter og forbrugere af beskeder, hvilket også gør Channel mere præcis og nem at bruge.

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


System.Threading.Channels-biblioteket:Hyperlink-login er synlig.
<T> Kanalklasse:Hyperlink-login er synlig.

Kanaltype

Microsoft tilbyder to typer kanaler, den ene er en bundet kanal med begrænset kapacitet, og den anden er en ubundet kanal med ubegrænset kapacitet.

Opret en kanal med begrænset kapacitet:Channel.CreateBounded<string>(100);
Opret en kanal med ubegrænset kapacitet:Channel.CreateUnbounded<string>();

Opret ubegrænsede kanaler

Når du opretter en kanal, kan du sætte SingleWriter og SingleReader i ChannelOptions til at angive en enkelt producer og forbruger, når kanalen sættes til falsk; når SingleWriter = true er sat, vil det begrænse kun én producer til at skrive data ad gangen, SingleReader = true er det samme.


Prøv at åbne tre producer-tråde og én forbrugertråd med følgende kode:



Forbrugeren bruger WaitToReadAsync til at vente på, at dataene bliver læst. Forbrugerne forsøger først at læse dataene, når de er tilgængelige.


I ovenstående kode læser forbrugerne data én efter én for at udføre operationer, hvordan man laver demBulkforbrugsdataHvad med et stykke behandling?

Opret en ny ChannelReaderExtensions-udvidelse med følgende kode:


Juster forbrugerkoden som følger:



(Slut)




Tidligere:ASP.NET Core (18) Tilpas en simpel OutputCache outputcache
Næste:[Egentlig kamp]. NET/C# offline IP-adresse (hjemme) lokaliseringsbibliotek
Opslået den 8-5-2023 kl. 22:50:27 |
Lær at lære
Opslået den 2023-5-12 10:07:46 |
Lær at lære
Opslået den 16-5-2023 kl. 17:21:37 |
Lær at lære
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com