Параллельные вычисления с диспетчеризацией потоков - 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()); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д