Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 23489|Resposta: 5

[Fonte] [Combate real]. NET 6 Random gera um teste de números aleatórios

[Copiar link]
Postado em 31-03-2022 às 16:20:26 | | | |
Recentemente, a Microsoft publicou um post no blog sobre melhorias de desempenho do .NET 6, que mencionou muitas coisas interessantes, uma delas foi o Random.Shared.

Esta é uma propriedade estática somente leitura e um objeto seguro para threads, isso pode nos ajudar a simplificar o uso de objetos aleatórios.

Random.SharedFornece uma instância thread-safe do Random que pode ser usada de qualquer thread ao mesmo tempo。 Referência:O login do hiperlink está visível.

Primeiramente, precisamos saber que Random não é seguro para threads, então, se quisermos usar Random em multithreading, geralmenteA segurança da rosca precisa ser considerada。 Como não é seguro para threads, podemos criar um quando usamos, e um novo toda vez, mas nesse caso, o código não é conciso o suficiente e, por outro lado, pode criar mais objetos aleatórios, além de haver um overhead de desempenho.

Vamos comparar e testar com o BenchmarkDotNet, e o código é o seguinte:
.NET/C# usa BenchmarkDotNet para testar o desempenho do código
https://www.itsvse.com/thread-9576-1-1.html
O método antigo é que eu sempre novo um novo objeto aleatório para gerar um número aleatório, e o método Novo chama o método Random.Shared mais recente fornecido no .NET 6. As renderizações de teste são as seguintes:



Analisamos o tempo médio médio de execução com as novas funcionalidades10x de impulso

(Fim)






Anterior:ASP.NET Core (doze) front-end JS, agrupamento e compressão de CSS
Próximo:ASP.NET Core (XIII) para determinar se é uma requisição Ajax ou não
Postado em 2022-4-2 09:15:51 |
É hora de aprender de novo
Postado em 14-04-2022 às 10:42:00 |
Venha aprender, prostituta, obrigada por compartilhar.
Postado em 20-06-2022 17:01:32 |
Dar apoio! Obrigado por compartilhar
 Senhorio| Postado em 2023-11-25 21:01:04 |
Use o método GUID para selecionar aleatoriamente um da coleção (não o use para consulta ao banco de dados, caso contrário a tabela completa será consultada)

 Senhorio| Publicado em 09:33:00 em 2025-4-6 |
Preenche arrays de bytes com sequências criptográficas de valores aleatórios. (onde System.Security.Cryptography.RNGCryptoServiceProvider está obsoleto)


ou
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com