程序正在询问10个线程并在打印随机值的函数上启动它,但所有这些线程都打印相同的Random值。
我的朋友说,这是由于线程在相同的CPU时钟使用rand计算所以这就是原因。他是对的
如果有解决方案吗?
private DateTime randomNum()
{
Random r = new Random();
int rInt = r.Next();
}
button_click1
for (int i = 0; i < numofThreads; i++)
{
res[i] = delcall.BeginInvoke(null, null);
}
//int[] num = new int[numofThreads];
for (int i = 0; i < numofThreads; i++) {
DateTime dt = delcall.EndInvoke(res[i]);
richTextBox1.AppendText(dt + "\n ");
}
答案 0 :(得分:0)
每次都不要创建redshift failed to load driver class. this error may be caused by all-in-one jar packaging. please try again with the lean package
的新实例。如果同时创建多个Random
实例,则它们的种子是相同的。这意味着他们都表现得相同。只需多次使用一个Random
实例。因此,在方法之外声明它。
Random