我是新來的多線程,我通過我在衝浪時學到的東西做了一個簡單的代碼。使用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