【发布时间】:2014-03-22 17:00:02
【问题描述】:
我是 C# 并行编程的新手,发现很难实时实现。这是我的查询:
public string[] SequentialFun(int count)
{
string[] results = new string[count];
for(int run = 0; run < count; run++)
{
while(true)
{
//Generate a Random Number (62 bit) and store it in variable 'randNum'
if(randNum is prime)
{
results[run] = randNum.ToString();
break;
}
}
}
return results;
}
- 如何对上述函数应用并行编程来提高速度?
- 告诉我如何运行
Parallel.For循环直到一个条件? 请解释并帮我详细解释。
【问题讨论】:
-
并行并不总是“提高速度”的代名词。
-
正如@SimonWhitehead 所说,在考虑cpu 的架构时应该使用并行编程。它不一定会转化为更快的代码执行速度。
-
这是一个令人尴尬的并行问题(假设
is prime检查不使用共享数据结构)。使用并行性显然是有利的,除非您在超过 8 年的 CPU 上运行。 -
@Douglas 当然.. 只是指出 OP 声明中的一个错误。
标签: c# loops for-loop parallel-processing conditional-statements