我是新来的多线程,我通过我在冲浪时学到的东西做了一个简单的代码。使用c#多线程来计算
Task[] tasks = new Task[B.Col];
for(int j = 0; j < B.Col; j++)
{
tasks[j] = Task.Run(() =>
{
for (int k = 0; k < A.Col; k++)
{
C[i, j] += A[i, k] * B[k, j];
}
});
}
/*
for(int j = 0; j < B.Col; j++)
{
for(int k = 0; k < A.Col; k++)
{
C[i, j] += A[i, k] * B[k, j];
}
}
*/
我想检查这是否是'多线程'下面的代码的正确方法。如果这段代码效率不高,请你帮我找一个更好的方法吗?
你在哪里定义'i'?我没看到它。 –
@GeorgeAlexandria我在代码之外,代码在另一个循环中。 – user5876164
[何时使用Parallel.ForEach循环而不是常规的foreach?]可能的副本(https://stackoverflow.com/questions/12251874/when-to-use-a-parallel-foreach-loop-instead-of -a-regular-foreach) – mjwills