Bonjour,
Dans ton programme sur un seul thread tu dois avoir (de mémoire) trois boucles for imbriquées. En multithread il faudrait que chaque boucle for de premier niveau lance un thread qui fera les deux boucle de deuxième et troisième niveau.
De tête ça donnerait un petit quelquechose qui ressemble à ça :
for (int i=0; i<matrix.length; i++) {
new MonThread(a, b, i, result).start();
}
class MonThread() extends Thread {
MonThread(int[][] a, int[][] b, int i, int[][] result) {
// ...
}
public void run() {
for (int j=0; j<matrix.length; j++) {
result[i][j] = // somme des a[i][k]*b[k][j]
}
}
}
Remarque : en Java 8 c'est le genre de calculs qui se font très bien avec des parallelStream, sans avoir à passer par des Thread explicites.