Параллельные вычисления с диспетчеризацией потоков - C#
Формулировка задачи:
подскажите пожалуйста, как реализовать параллельные вычисления в следующем случае:
дано:
необходимо:
в однопоточном режиме вычисления занимают слишком много времени (больше 20 мин на моем ноутбуке), необходимо разделить вычисления по потокам, причем так, чтобы каждый поток обрабатывал свой индекс i, а также чтобы вычисление второго десятка индексов i начиналось после завершения первого всеми потоками.
string[,] str_arr = new string[20, 50]; int maxStringLength = 100000;
for (int i = 0; i < 20; i++)
{
for (int j = 0; j < 50; j++)
{
str_arr[i, j] = doWork(str_arr[i, j]);
if (i >= 10)
{
str_arr[i, j] += doWork(str_arr[i - 10, j]);
}
}
}Решение задачи: «Параллельные вычисления с диспетчеризацией потоков»
textual
Листинг программы
if ((i == 27) && (j == 2))
{
stopWatch.Stop();
System.Windows.Forms.MessageBox.Show(stopWatch.ElapsedMilliseconds.ToString());
}