|
|
Zverejnené 31.3.2022 o 16:20:26
|
|
|
|

Nedávno Microsoft zverejnil blogový príspevok o zlepšeniach výkonu .NET 6, ktorý spomenul veľa zaujímavých vecí, medzi nimi aj Random.Shared.
Ide o statickú vlastnosť len na čítanie a objekt bezpečný pre vlákna, táto funkcia nám môže pomôcť zjednodušiť používanie náhodných objektov.
Random.SharedPoskytuje bezpečnú inštanciu náhodného vlákna, ktorú možno použiť z akéhokoľvek vlákna súčasne。 Referencia:Prihlásenie na hypertextový odkaz je viditeľné.
Predovšetkým potrebujeme vedieť, že náhodnosť nie je bezpečná pre vlákna, takže ak chceme použiť náhodnú metódu vo viacerých vláknach, zvyčajneBezpečnosť závitov je potrebné zvážiť。 Keďže nie je bezpečný pre vlákna, môžeme vytvoriť jeden pri použití a nový zakaždým, ale v tomto prípade kód nie je dostatočne stručný a na druhej strane môže vytvárať viac náhodných objektov, pričom je tu aj výkonnostná záťaž.
Poďme to porovnať a otestovať s BenchmarkDotNet a kód je nasledovný:
Stará metóda je taká, že vždy vytvorím nový náhodný objekt na generovanie náhodného čísla a nová metóda volá najnovšiu metódu Random.Shared z .NET 6. Testovacie zobrazenia sú nasledovné:
Pozrieme sa na priemerný priemerný čas vykonávania s novými funkciami10x boost。
(Koniec)
|
Predchádzajúci:ASP.NET Core (dvanásť) front-end JS, CSS bundlovanie a kompresiaBudúci:ASP.NET Core (XIII) na určenie, či ide o Ajax požiadavku alebo nie
|