如何通过拆分将线程中的矩阵相乘

我有以下代码显示矩阵的乘积

但是我想要的是使用split通过一个函数编写此代码。我尝试了很多次,但是我不知道该怎么做。 这是显示矩阵乘法的C#代码。

首先,我创建一个线程。然后,我启动并加入线程,它显示了,但是我使用的方式太长了,如果有人知道我该怎么办,我想简短些。

        Thread Row1Col1 = new Thread(R1C1);
        Thread Row1Col2 = new Thread(R1C2);
        Thread Row2Col1 = new Thread(R2C1);
        Thread Row2Col2 = new Thread(R2C2);
        Thread Row3Col1 = new Thread(R3C1);
        Thread Row3Col2 = new Thread(R3C2);

        Row1Col1.Start();
        Row1Col1.Join();

        Row1Col2.Start();
        Row1Col2.Join();

        Row2Col1.Start();
        Row2Col1.Join();

        Row2Col2.Start();
        Row2Col2.Join();

        Row3Col1.Start();
        Row3Col1.Join();

        Row3Col2.Start();
        Row3Col2.Join();

        Console.ReadLine();
    }

    static void R1C1()
    {
        int mt3 = 0;
        int[] mt1 = { 1,2,3 };
        int[] mt2 = { 10,7,2 };

        for (int i = 0; i < mt1.Length; i++)
        {
            mt3 += mt1[i] * mt2[i];
        }
        Console.Write(mt3);
    }


    static void R1C2()
    {
        int[] mt1 = { 1,3 };
        int[] mt2 = { 11,5,4 };
        int mt4 = 0;

        for (int i = 0; i < mt1.Length; i++)
        {
            mt4 += mt1[i] * mt2[i];
        }
        Console.Write("   " + mt4);
        Console.WriteLine();
    }


    static void R2C1()
    {
        int[] mt1 = { 4,6 };
        int[] mt2 = { 10,2 };
        int mt5 = 0;

        for (int i = 0; i < mt1.Length; i++)
        {
            mt5 += mt1[i] * mt2[i];
        }
        Console.Write(mt5);
    }


    static void R2C2()
    {
        int[] mt1 = { 4,6 };
        int[] mt2 = { 11,4 };
        int mt6 = 0;

        for (int i = 0; i < mt1.Length; i++)
        {
            mt6 += mt1[i] * mt2[i];
        }
        Console.Write("   " + mt6);
        Console.WriteLine();
    }


    static void R3C1()
    {
        int[] mt1 = { 1,3,2 };
        int[] mt2 = { 10,2 };
        int mt7 = 0;

        for (int i = 0; i < mt1.Length; i++)
        {

            mt7 += mt1[i] * mt2[i];

        }

        Console.Write(mt7);
    }


    static void R3C2()
    {
        int[] mt1 = { 1,2 };
        int[] mt2 = { 11,4 };
        int mt8 = 0;

        for (int i = 0; i < mt1.Length; i++)
        {

            mt8 += mt1[i] * mt2[i];

        }
        Console.Write("   " + mt8);
    }
ruoshui105 回答:如何通过拆分将线程中的矩阵相乘

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3115336.html

大家都在问