Salve galera,
estou fazendo um trabalho para a faculdade aonde devo multiplicar duas matrizes quadradas de forma sequencial e com Threads. Tudo estava indo muito bem até chegar no momento de implementar as Threads… Bom, a ideia do meu código é a seguinte, a matriz C recebe as matrizes A e B e realiza a multiplicação, segue o código da classe Matriz…
Alguém tem ideia como implemento as Threads ?
package model;
import java.util.Random;
import java.lang.Thread;
public class Matriz extends Thread{
public int colunas;
public int linhas;
public int valoresMatriz [][];
int nLinhas;
int nColunas;
public Matriz(int colunas,int linhas){
this.linhas = linhas;
this.colunas = colunas;
}
public void populaMatriz(){
for(int i = 0;i<this.getNumeroColunas();i++)
for(int j = 0;j<this.getNumeroLinhas();j++)
this.setValoresMatriz(i, j,this.valorAleatorio());
}
public int valorAleatorio(){
return new java.util.Random().nextInt(100) + 1;
}
public void multiplicaMatriz (Matriz matriz,Matriz resultado){
if (this.linhas==matriz.getNumeroColunas()){
for (int l=0;l<this.colunas;l++){
for (int c=0;c<matriz.getNumeroColunas();c++){
for (int n=0;n<this.linhas;n++){
resultado.setValorMatriz(l,n,(this.valoresMatriz[l][n])*(matriz.valoresMatriz[n][c]));
}
}
}
}
else{
System.out.println("Impossível de ser multiplicada.");
}
}
public void setValorMatriz (int x, int y, int valor){
this.valoresMatriz[x][y]+=valor;
}
public int getNumeroLinhas (){
return linhas;
}
public int getNumeroColunas (){
return colunas;
}
public void setNumeroLinhas (int linhas){
this.linhas = linhas;
}
public void setNumeroColunas (int colunas){
this.colunas = colunas;
}
public void setValoresMatriz (int colunas, int linhas,int valor){
valoresMatriz[linhas][colunas] = valor;
}
public int[][] getValoresMatriz (int colunas, int linhas){
return valoresMatriz;
}
}
:shock: