首页 > 其他分享 >Random.Shared.Next 使用

Random.Shared.Next 使用

时间:2024-12-03 18:01:05浏览次数:5  
标签:Random int 30 Next 线程 Shared

Random.Shared.Next 是 .NET 6 引入的一个新特性,它提供了一个线程安全的随机数生成器。这意味着你可以在多线程环境中使用它,而不需要担心线程安全问题,如种子被意外修改等。

Random.Shared.Next 的使用方式如下:

  1. int r1 = Random.Shared.Next(); // 在0到int上限中随机。
  2. int r2 = Random.Shared.Next(10); // 从0到这个值之间随机,不会取到上限值。
  3. int r3 = Random.Shared.Next(20, 30); // 从20到30之间随机,不会取到30。
  4. double d1 = Random.Shared.NextDouble(); // 获取一个0到1之间的小数,永远不会取到1。

Random.Shared 的实现类似于创建两个 Random 对象的解决方法,但是它是从 CLR 的底层实现的,比前面的实现方式更加高效。Random.Shared 的实现也是类似于上面的 ThreadStatic 的解法,但是是从 CLR 的底层去实现的,会比上面的实现方式更为高效。

总的来说,Random.Shared.Next 提供了一个简单且高效的方式来在多线程环境中生成随机数,无需担心线程安全问题。

标签:Random,int,30,Next,线程,Shared
From: https://www.cnblogs.com/Dongmy/p/18584651

相关文章

  • cannot open shared object file: No such file or directory
    是Linux编译的依赖库路径不对,需要将依赖库的路径设置为当前路径,然后重新编译,使用的是QtCreator在麒麟系统下编译;#----------------------------------------------------#ThisfileisgeneratedbytheQtVisualStudioAdd-in.#------------------------------------------......
  • HarmonyOS Next 密钥管理深度解析
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中密钥管理相关技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:密钥管理系统架构一......
  • 深入 HarmonyOS Next 安全机制之加密算法
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中加密算法相关技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:加密算法原理剖析一......
  • HarmonyOS Next 加密解密基础与密钥管理
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中的加密解密技术与密钥管理相关知识,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:加密解......
  • HarmonyOS Next 加密通信技术实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中加密通信技术的应用,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:加密通信原理与协议一......
  • HarmonyOS Next 加密技术在数据存储中的应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中加密技术在数据存储方面的应用,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:数据存储安......
  • Abp Vnext Vue Element UI实现
    AbpVnextVueElementUI实现版本开箱即用的中后台前端/设计解决方案链接AbpProVben5VueElementPlus预览点击查看效果文档地址点击查看文档国内文档地址点击查看文档实现功能用户管理角色管理审计日志后台任务集成事件多语言Free......
  • IPv6 首部 Pad Length 中的 Next Header 字段取值及特殊取值
    PadLength字段取值范围8bit,标识Padding部分长度,0表示无填充。IPv6首部中,Padding部分的长度是可变的,用于填充使整个IPv6首部长度为8字节的倍数。其他部分的长度包括版本号Version、流量类别TrafficClass、流标签FlowLabel、负载长度PayloadLength、下......
  • ConvNeXtV2-GRN
    importtorchimporttorch.nnasnnclassGRN(nn.Module):"""GRN(GlobalResponseNormalization)layer"""def__init__(self,dim):super().__init__()self.gamma=nn.Parameter(torch.randn(1,dim,......
  • HarmonyOS Next 与 iOS 开发融合之道
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)与iOS开发的融合相关技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:异同点分析一......