Produit de deux matrice avec les threads

Messages postés
1
Date d'inscription
mercredi 16 novembre 2016
Dernière intervention
16 novembre 2016
- 16 nov. 2016 à 22:21 - Dernière réponse :
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
- 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 

Votre réponse

1 réponse

Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
17 nov. 2016 à 06:58
0
Merci
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.