Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 23489|Răspunde: 5

[Sursă] [Luptă propriu-zisă]. NET 6 Random generează un test al numerelor aleatoare

[Copiază linkul]
Postat la 31-03-2022 16:20:26 | | | |
Recent, Microsoft a postat un articol pe blog despre îmbunătățirile performanței în .NET 6, care menționa multe lucruri interesante, unul dintre ele fiind Random.Shared.

Aceasta este o proprietate statică doar pentru citire și un obiect sigur pentru thread, acest lucru ne poate ajuta să simplificăm utilizarea obiectelor aleatoare.

Random.SharedOferă o instanță thread-safe de Random care poate fi folosită din orice fir simultan。 Referință:Autentificarea cu hyperlink este vizibilă.

În primul rând, trebuie să știm că Random nu este thread-safe, așa că dacă vrem să folosim Random în multithreading, de obiceiSiguranța firului trebuie luată în considerare。 Deoarece nu este sigur pentru fire, putem crea unul când îl folosim și unul nou de fiecare dată, dar în acest caz codul nu este suficient de concis și, pe de altă parte, poate crea mai multe obiecte aleatorii și există și un overhead de performanță.

Să comparăm și să testăm cu BenchmarkDotNet, iar codul este următorul:
.NET/C# folosește BenchmarkDotNet pentru a testa performanța codului
https://www.itsvse.com/thread-9576-1-1.html
Metoda veche este că întotdeauna am un obiect Random nou pentru a genera un număr aleatoriu, iar metoda nouă apelează cea mai recentă metodă Random.Shared oferită în .NET 6. Randările de test sunt următoarele:



Analizăm timpul mediu mediu de execuție cu noile funcționalitățiBoost de 10x

(Sfârșit)






Precedent:ASP.NET Core (douăsprezece) front-end JS, bundling și compresie CSS
Următor:ASP.NET Core (XIII) pentru a determina dacă este o cerere Ajax sau nu
Postat la 2022-4-2 09:15:51 |
E timpul să învățăm din nou
Postat pe 2022-4-14, 10:42:00 |
Vino să înveți, prostituată, mulțumesc că ai împărtășit.
Postat la 20-06-2022 17:01:32 |
În rezervor! Mulțumesc că ai împărtășit
 Proprietarul| Postat la 2023-11-25 21:01:04 |
Folosește metoda GUID pentru a selecta aleatoriu unul din colecție (nu o folosi pentru interogarea bazei de date, altfel tabelul complet va fi interogat)

 Proprietarul| Postat la 6-04-2025 09:33:00 |
Completează tablourile de octeți cu secvențe criptografice aleatoare de valori. (unde System.Security.Cryptography.RNGCryptoServiceProvider este depretat)


sau
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com