2011-07-27 3 views
6

Estoy escribiendo una aplicación Eclipse RCP en la que varios hilos actualizarán al usuario cada uno a través de su propia barra de progreso en la GUI. Me han dicho que permitir que cada uno actualice individualmente su propia barra de progreso puede potencialmente causar un conflicto sobre un recurso compartido (una de las barras de progreso parentales, como el Shell, supongo). ¿Es esto cierto?Uso de barras de progreso múltiples para varios hilos sin atascar la GUI

Me sugirieron crear una clase intermedia con métodos sincronizados que actuarán como un embudo de serialización para las llamadas de actualización desde los hilos. ¿Es esto una solución? ¿Puedes ofrecer una mejor solución?

+1

@Moonbeam, no es sobre Swing, es acerca de Eclipse RCP. Y lo correspondiente se llama Eclipse-Job-Framework –

Respuesta

2

En realidad es bastante fácil. Siempre que necesite actualizar la barra de progreso de cualquiera de los hilos, se encierra el código de actualización en

display.asyncExec(new Runnable() { .... }); 
+0

Gracias. Ese es un enfoque mucho más simple y tendrá más sentido para cualquiera que lea el código y conozca bien SWT. +1 y aceptar –

Cuestiones relacionadas