|
|
Veröffentlicht am 31.3.2022, 16:20:26
|
|
|
|

Kürzlich hat Microsoft einen Blogbeitrag über Leistungsverbesserungen von .NET 6 veröffentlicht, in dem viele interessante Dinge erwähnt wurden, darunter Random.Shared.
Dies ist eine schreibgeschützte statische Eigenschaft und ein threadsicheres Objekt, das uns helfen kann, die Verwendung von Zufallsobjekten zu vereinfachen.
Random.GeteiltStellt eine threadsichere Instanz von Random bereit, die gleichzeitig von jedem beliebigen Thread verwendet werden kann。 Referenz:Der Hyperlink-Login ist sichtbar.
Zunächst müssen wir wissen, dass Random nicht threadsicher ist, also wenn wir Random im Multithreading verwenden wollen, ist das meistensDie Gewindesicherheit muss berücksichtigt werden。 Da es nicht threadsicher ist, können wir bei der Nutzung eines erstellen und jedes Mal ein neues, aber in diesem Fall ist der Code nicht prägnant genug, und andererseits kann er mehr zufällige Objekte erzeugen, und es gibt auch einen Performance-Overhead.
Vergleichen und testen wir es mit BenchmarkDotNet, und der Code ist wie folgt:
Die Old-Methode besteht darin, dass ich immer ein neues Random-Objekt kenne, um eine Zufallszahl zu generieren, und die New-Methode ruft die neueste Random.Shared-Methode auf, die in .NET 6 bereitgestellt wird. Die Testrenderings sind wie folgt:
Wir betrachten die durchschnittliche Ausführungszeit der neuen Funktionen10-facher Ladedruck。
(Ende)
|
Vorhergehend:ASP.NET Core (zwölf) Frontend-JS, CSS-Bündelung und KompressionNächster:ASP.NET Core (XIII), um festzustellen, ob es sich um eine Ajax-Anfrage handelt oder nicht
|