Многопоточное умножение матриц - C#
Формулировка задачи:
Всем привет! как создать несколько потоков и передать им параметры, потом остановить и запустить одновременно. пытаюсь понять работу с потоками на задаче умножения матриц )) прошу не пинать
Решение задачи: «Многопоточное умножение матриц»
textual
Листинг программы
class VectorMultipiler
{
double[] first;
double[] second;
public double Result { get; private set; }
public VectorMultipiler(double[] first, double[] second) {
this.first = first;
this.second = second;
}
public void Mul() {
double temp = 0;
for (int i = 0; i < first.Length; i++) {
temp += first[i] * second[i];
}
this.Result = temp;
}
}
class Program
{
public static void Main() {
var mul = new VectorMultipiler(new double[]{1,2}, new double[]{3,4});
var thread = new Thread(mul.Mul); //создаем поток
thread.Start(); //Запускаем поток
thread.Join(); //ждем завершения
Console.WriteLine(mul.Result);
Console.ReadKey();
}
}