petite question d'optimisation.

j'ai besoin de créer un thread pour faire une mesure sur un instrument car cette mesure peut prendre du temps. (rq : je commande cette instrument via le bus GPIB interfacé avec java)

j'ai donc naturellement fait ceci comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
/*
	 * lie une donnée
	 */
	public void Get_Mesure(double[] Mesure) throws Exception{
		Attente_Mesure = true;
 
		new Lecture_Mesure(Mesure);		
	}
avec la class Lecture mesure suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
		public void run(){
			Attente_Mesure = true;
 
			try {
				Mesure[0] = Double.parseDouble(Port_GPIB.Read());
			} catch (Exception e) {
				e.printStackTrace();
			}
 
			Attente_Mesure = false;
		}
cette class est privé car elle est interne au paquetage contenant la methode Get_Mesure().

comme on le vois la mesure doit retourner un double.

j'ai donc fait un passage par reference (double[])

j'appelle donc ma methode comme suit :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
		double Mesure[] = new double[1];
 
		Le_Multimetre.Get_Mesure(Mesure);
es ce que cette methode est correcte?

voyez vous une autre solution plus adaptée?

merci