|
|
Opublikowano 31.03.2022 o 16:20:26
|
|
|
|

Niedawno Microsoft opublikował wpis na blogu o poprawie wydajności .NET 6, w którym wspomniano wiele ciekawych rzeczy, w tym Random.Shared.
To statyczna właściwość tylko do odczytu i obiekt bezpieczny dla wątków, może pomóc nam uprościć użycie obiektów losowych.
Losowo.UdostępnioneZapewnia bezpieczną dla wątków instancję Losową, którą można używać z dowolnego wątku jednocześnie。 Odniesienie:Logowanie do linku jest widoczne.
Przede wszystkim musimy wiedzieć, że Random nie jest bezpieczny dla wątków, więc jeśli chcemy używać Random w wielowątkowości, zwykleNależy wziąć pod uwagę bezpieczeństwo gwintu。 Ponieważ nie jest bezpieczny dla wątków, możemy tworzyć jeden podczas korzystania i za każdym razem nowy, ale w tym przypadku kod nie jest wystarczająco zwięzły, a z drugiej strony może tworzyć więcej losowych obiektów, a także pojawia się narzut wydajnościowy.
Porównajmy to i przetestujmy z BenchmarkDotNet, a kod wygląda następująco:
Stara metoda polega na tym, że zawsze tworzę nowy obiekt losowy, aby wygenerować losową liczbę, a nowa metoda wywołuje najnowszą metodę Random.Shared dostępną w .NET 6. Testowe wizualizacje przedstawiają się następująco:
Przyglądamy się średniemu średniemu czasowi wykonania przy nowych funkcjach10x boost。
(Koniec)
|
Poprzedni:ASP.NET Core (dwanaście) front-end JS, bundling CSS i kompresjaNastępny:ASP.NET Core (XIII), aby określić, czy jest to żądanie Ajax, czy nie
|