Ich bin neu in Multithreading, und ich habe einen einfachen Code durch, was ich beim Surfen gelernt habe.mit C# Multithread zu berechnen
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];
}
}
*/
Ich möchte überprüfen, ob dies der richtige Weg ist, um den Code unten zu "multithread". Wenn dieser Code nicht so effizient ist, würden Sie mir bitte helfen, einen besseren Weg zu finden?
Wo haben Sie 'i' definiert? Ich sehe es nicht. –
@GeorgeAlexandria Ich bin außerhalb des Codes, der Code ist in einem anderen für die Schleife. – user5876164
Mögliches Duplikat von [Wenn eine Parallel.ForEach-Schleife anstelle einer regulären foreach verwendet werden soll?] (Https://stackoverflow.com/questions/12251874/when-in-a-parallel-foreach-loop-init-of-) -a-regulär-foreach) – mjwills