Random.Shared.Next 使用

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 提供了一个简单且高效的方式来在多线程环境中生成随机数,无需担心线程安全问题。

posted @ 2024-12-03 17:54  yinghualeihenmei  阅读(6)  评论(0编辑  收藏  举报