先看运行结果
对比代码
private void button1_Click(object sender, EventArgs e)
{
DateTime dt1 = DateTime.Now;
for (int i = 1; i <= 1000000; i++)
{
bool b = IsPrimeNumber(i);
//Console.WriteLine($"{i}:{b}");
}
DateTime dt2 = DateTime.Now;
textBox1.Text = (dt2 - dt1).ToString();
}
private static bool IsPrimeNumber(int number)
{
if (number < 1)
{
return false;
}
if (number == 1 && number == 2)
{
return true;
}
for (int i = 2; i < number; i++)
{
if (number % i == 0)
{
return false;
}
}
return true;
}
private void button2_Click(object sender, EventArgs e)
{
DateTime dt1 = DateTime.Now;
Parallel.For(1, 1000000, x =>
{
bool b = IsPrimeNumber(x);
//Console.WriteLine($"{x}:{b}");
});
DateTime dt2 = DateTime.Now;
textBox2.Text = (dt2 - dt1).ToString();
}
串行运行下的任务管理器
并行运行下的任务管理器
可以比较出多核对于大量数据处理还是效果比较明显
特此记录
anlog
2022年9月30日