Многопоточное умножение матриц - 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();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5