Random.Shared.Next 使用
Random.Shared.Next
是 .NET 6 引入的一个新特性,它提供了一个线程安全的随机数生成器。这意味着你可以在多线程环境中使用它,而不需要担心线程安全问题,如种子被意外修改等。
Random.Shared.Next
的使用方式如下:
int r1 = Random.Shared.Next();
// 在0到int
上限中随机。int r2 = Random.Shared.Next(10);
// 从0到这个值之间随机,不会取到上限值。int r3 = Random.Shared.Next(20, 30);
// 从20到30之间随机,不会取到30。double d1 = Random.Shared.NextDouble();
// 获取一个0到1之间的小数,永远不会取到1。
Random.Shared
的实现类似于创建两个 Random
对象的解决方法,但是它是从 CLR 的底层实现的,比前面的实现方式更加高效。Random.Shared
的实现也是类似于上面的 ThreadStatic
的解法,但是是从 CLR 的底层去实现的,会比上面的实现方式更为高效。
总的来说,Random.Shared.Next
提供了一个简单且高效的方式来在多线程环境中生成随机数,无需担心线程安全问题。