Produit de deux matrice avec les threads

MoiCSabrina 1 Messages postés mercredi 16 novembre 2016Date d'inscription 16 novembre 2016 Dernière intervention - 16 nov. 2016 à 22:21 - Dernière réponse : KX 15365 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention
- 17 nov. 2016 à 06:58
Bonjour tout le monde,
en fait je veux créer un programme en java qui fait le produit de deux matrices en utilisant les threads. j'ai réussi a faire le mono tache mais j'ai pas pu faire ce lui de multitache. je ne sais pas si yaura qqun pr maider
merci davance
Afficher la suite 

1 réponse

Répondre au sujet
KX 15365 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 17 nov. 2016 à 06:58
0
Utile
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.
Commenter la réponse de KX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.