Параллельное умножение матриц - C#

Узнай цену своей работы

Формулировка задачи:

class Rndthread
        {
            Thread RNDThread;
            public Rndthread(string name/*имя потока*/, double[,] matrix/*имя матрицы*/,int m/*кол-во строк*/,int n/*кол-во столбцов*/, int amountflow/*количество потоков*/)
            {
                RNDThread = new Thread(rndfunction);
                RNDThread.Name = name;
                RNDThread.Start();
            }            
            void rndfunction(object matrix)
            {
               // Вычисление элементов               
            }
Не могу понять как в функцию закинуть все переменные и массивы для необходимых вычислений.

Решение задачи: «Параллельное умножение матриц»

textual
Листинг программы
class Rndthread
{
    private int RowsCount;
    private int ColumnsCount;
    private double[,] Matrix;
    private Thread ProcessingThread;
    
    public Rndthread(string name/*имя потока*/, double[,] matrix/*имя матрицы*/,int m/*кол-во строк*/,int n/*кол-во столбцов*/, int amountflow/*количество потоков*/)
    {
        RowsCount = m;
        ColumnsCount = n;
        Matrix = matrix;
        
        Thread processingThread = new Thread(new ThreadStart(rndfunction));
        processingThread.Name = name;
        processingThread.Start();
        ProcessingThread = processingThread;
    }
    
    private void rndfunction()
    {
        // обработка матрицы, вычисление элементов
 
        double[,] matrix = Matrix;
        matrix[0, 0] = 100500.0;
 
        // и так далее
    }
}

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


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

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

7   голосов , оценка 4 из 5