Esta es mi primera pregunta sobre StackOverflow (lo siento sobre mi inglés). Trataré de explicar el problema lo mejor que pueda.SWT problema con syncExec()
Tengo una aplicación swt con una aplicación de jade en primer plano en la que tengo una barra de progreso para informar la duración de la aplicación. Para volver a cargar esta barra de progreso que utilizo:
if(Display.getCurrent() != null) {
progress.run();
}
else {
sShell.getDisplay().syncExec(progress);
}
El progreso es:
Runnable progress = new Runnable() {
public void run() {
if (progressBar.isDisposed())
return;
int percentage= (numStep*100)/maxSteps;
progressBar.setSelection(percentage);
if (numStep >= maxSteps){
label1.setText("The simulation has been completed.");
button.setEnabled(true);
}
}
};
Trato de analizar el tiempo que este Ejecutable toma y es constante, pero cuando analizo esta línea sSehll.getDisplay().syncExec(progress)
toma diferentes tiempos (de 0 ms a XXXXms)
he leído este Caus
syncExec (ejecutable ejecutable) es el hilo actual (si es diferente del subproceso de interfaz de usuario de la pantalla) para esperar a que finalice el ejecutable.
Pero el Ejecutable es constante de tiempo ...
Puede alguien me guíe? No entiendo por qué a veces lleva 3 minutos y en otro momento.
Gracias
+1, bienvenido a StackOverflow! He reformateado tu código para ti, pero no hay necesidad de disculparte por tu inglés :) –
Gracias a ti. Sé que esto se sentó hace mucho tiempo, pero me animaron a participar hoy, finalmente. – Michel