Java中使用线程的矩阵乘法

Java中使用线程的矩阵乘法,java,multithreading,matrix,Java,Multithreading,Matrix,我的程序中有一个问题,创建了2个矩阵a和B(用1初始化每个单元格),它使用线程计算矩阵C=a*B(每个线程计算一行)。 问题是它有时有效,有时无效 package multiplier; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; public class Multiplier extends Threads{ static int[][] A

我的程序中有一个问题,创建了2个矩阵a和B(用1初始化每个单元格),它使用线程计算矩阵C=a*B(每个线程计算一行)。 问题是它有时有效,有时无效

package multiplier;

import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;


public class Multiplier extends Threads{

    static int[][] A,B,C;
    static int x;
    int row;

    public Multiplier(int row){
        this.row=row;
    }


    @Override
    public void run(){
        for(int a=0;a<x;a++){
            C[row][a]=0;
            for(int b=0;b<x;b++){
                C[row][a]+=A[row][b]*B[b][a];
            }
        }
    }

    //main method
    public static void main(String[] args) {    
        x= new Scanner(System.in).nextInt();
        A= new int[x][x];
        B= new int[x][x];
        C= new int[x][x];
        for(int i=0;i<x;i++){
            for(int j=0;j<x;j++){
                A[i][j]=1;
                B[i][j]=1;
            }
        }

        for(int i=0;i<x;i++){
            new Multiplier(i).start();

        }

        for(int i=0;i<x;i++){
            for(int j=0;j<x;j++){
                System.out.print(C[i][j]+" ");
            }
            System.out.println();
        }
    }

}
包乘数;
导入java.util.Scanner;
导入java.util.logging.Level;
导入java.util.logging.Logger;
公共类乘数扩展线程{
静态int[]A、B、C;
静态int x;
int行;
公共乘数(整数行){
this.row=行;
}
@凌驾
公开募捐{

对于(int a=0;a什么是类
Threads
?您的意思可能是
Thread
?线程同步可能就是为什么有时它才起作用的原因我使用了“synchronized”来同步线程,但它不起作用