public?class?ThreadTest?{
public?static?int?arr1[][]?=?new?int[5][5];
public?static?int?arr2[][]?=?new?int[5][5];
public?static?int?result[][]?=?new?int[5][5];
public?static?void?main?(String?args[]){
//init?the?array
Random?random=new?Random();
for(int?i=0;i<5;i++)
for(int?j=0;j<5;j++){
arr1[i][j]=Math.abs(random.nextInt()%10);
random.nextInt();
arr2[i][j]=Math.abs(random.nextInt()%10);
}
System.out.println("\n***?Matrix?A?***");
for(int?p=0;p<5;p++){
System.out.println();
for(int?q=0;q<5;q++){
System.out.print(arr1[p][q]+"?");
}
}
System.out.println();
System.out.println("\n***?Matrix?B?***");
for(int?p=0;p<5;p++){
System.out.println();
for(int?q=0;q<5;q++){
System.out.print(arr2[p][q]+"?");
}
}
//computing?matrix
for(int?index=0;index<5;index++){
ThreadArray?ta?=?new?ThreadArray(index);
ta.start();
}
System.out.println("\n***?Matrix?Result?***");
for(int?l=0;l<5;l++){
System.out.println();
for(int?k=0;k<5;k++){
System.out.print(result[l][k]+"?");
}
}
}
static?class?ThreadArray?extends?Thread?{
int?index;
int[][]?arr;
ThreadArray(int?index)?{
this.index?=?index;
}
public?void?run()?{
//?compute?primes?larger?than?minPrime
int?i?=?0;
for?(int?j?=?0;?j?<?5;?j++)?{
//?c[i][j]?=?0;
result[j][index]?+=?(arr1[index][j]?*?arr2[j][index]);
}
}
}
}