gpt4 book ai didi

c# - 在多线程应用程序中使用 Random 的正确方法

转载 作者:IT王子 更新时间:2023-10-29 03:55:24 27 4
gpt4 key购买 nike

<分区>

好的。这是我知道行不通的:

int Rand()
{
//will return the same number over and over again
return new Random().Next();
}

static Random rnd=new Random();

int Rand()
{
//if used like this from multiple threads, rnd will dissintegrate
//over time and always return 0
return rnd.Next();
}

这会正常工作,但如果被多个线程使用,CPU 使用率会上升,这是我不希望的,而且我认为这是没有必要的:

int Rand()
{
lock(rnd)
{
return rnd.Next();
}
}

那么,有没有针对c#的线程安全的Random类,或者更好的使用方式呢?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com