MultiSlave.java |
/** * Classe définissant le code à exécuter par l'esclave. */ public class MultiSlave implements Runnable { // Arguments de la multiplication private double[] operand; // Résultat à calculer private double result; /** Crée un objet code pour l'esclave de la multiplication. */ public MultiSlave(double[] operand) { this.operand = operand; } /** * Retourne le résultat de la multiplication. À n'appeler qu'après * la fin de l'exécution de run(). */ public double result() { return result; } /** Méthode à exécuter par le processus léger. */ public void run() { // Test des opérandes pour cohérence du résultat if ((operand == null) || (operand.length == 0)) { System.out.println("esclave: terminaison"); return; } // Initialisation puis multiplication des opérandes result = operand[0]; for (int i=1; i<operand.length; i++) result *= operand[i]; System.out.println("esclave: terminaison"); } }