Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 23489|Odpověď: 5

[Zdroj] [Skutečný boj]. NET 6 Random generuje test s náhodnými čísly

[Kopírovat odkaz]
Zveřejněno 31. 3. 2022 v 16:20:26 | | | |
Nedávno Microsoft zveřejnil blogový příspěvek o zlepšení výkonu .NET 6, který zmínil spoustu zajímavých věcí, mezi nimiž i Random.Shared.

Jedná se o statickou vlastnost pouze pro čtení a objekt bezpečný pro vlákna, tato věc nám může pomoci zjednodušit používání náhodných objektů.

Random.SdílenoPoskytuje instanci náhodného vlákna bezpečnou, kterou lze použít z libovolného vlákna současně。 Odkaz:Přihlášení k hypertextovému odkazu je viditelné.

Nejprve potřebujeme vědět, že Random není bezpečný pro vlákna, takže pokud chceme použít Random v multithreadingu, obvykleJe třeba zvážit bezpečnost závitu。 Protože není bezpečný pro vlákna, můžeme si ho vytvořit při použití a pokaždé nový, ale v tomto případě kód není dostatečně stručný a na druhou stranu může vytvářet více náhodných objektů, což je také výkonnostní režia.

Porovnejme to a otestujme to s BenchmarkDotNet a kód je následující:
.NET/C# používá BenchmarkDotNet k testování výkonu kódu
https://www.itsvse.com/thread-9576-1-1.html
Stará metoda byla taková, že vždy vygeneruji nový náhodný objekt, který generuje náhodné číslo, a nová metoda volá nejnovější metodu Random.Shared z .NET 6. Testovací zobrazení jsou následující:



Díváme se na průměrnou dobu provedení u nových funkcí10x zvýšení

(Konec)






Předchozí:ASP.NET Jádro (dvanáct) front-end JS, CSS balíčkování a komprese
Další:ASP.NET Core (XIII), abyste zjistili, zda jde o požadavek Ajaxu nebo ne
Zveřejněno 2022-4-2 09:15:51 |
Je čas se znovu učit
Zveřejněno 14. 4. 2022 10:42:00 |
Pojď se učit, prostitutko, děkuji, že jsi se podělila.
Zveřejněno 2022-6-20 17:01:32 |
Není po všem, dokud není po všem! Díky za sdílení
 Pronajímatel| Zveřejněno 25. 11. 2023 21:01:04 |
Použijte metodu GUID k náhodnému výběru jedné z kolekce (nepoužívejte ji pro dotazy do databáze, jinak bude dotazována celá tabulka)

 Pronajímatel| Zveřejněno 6. 4. 2025 09:33:00 |
Doplňte bajtová pole kryptografickými náhodnými sekvencemi hodnot. (kde je System.Security.Cryptography.RNGCryptoServiceProvider zastaralý)


nebo
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com