Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/01/2012, 19:54
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Hilos con Swing

Hola,

Cita:
Iniciado por pcarvajal Ver Mensaje
...
Lo que debo hacer es crear dos hilos independientes (usando swing).
Cada uno de ellos muestra un numero aleatorio en un jtextfield.
Cada uno de ellos tiene los controles "New", "Run", "Wait" y "Stop".
...
La documentación de Swing explicitamente menciona que no está diseñado para multithreading, osea que no puedes usar Swing directamente desde varios hilos.

Las operaciones de new, run, wait y stop las tienes que implementar de forma diferente puesto los metodos stop(), suspend() y resume() de la clase Thread estan 'deprecated' y hay varios motivos por los cuales no se deben utilizar.

Tu aplicación hace exactamente lo contrario.

Cita:
Iniciado por pcarvajal Ver Mensaje
...
Hasta ahora todo me funciona bien, salvo que cuando hago click en cualquiera de los dos botones "Wait" se me congela el formulario completo (lo que debería hacer es congelar solo el hilo al que corresponde el botón y el otro debería seguir corriendo) ...
Algunas veces las aplicaciones no dan problema en situaciones muy específicas aún cuando se use Swing desde varios hilos o se usen métodos que están 'deprecated', pero no significa que se deba hacer en aplicaciones críticas donde seguramente van a dar problemas.

No podría darte una sugerencia sin cambiar todo lo descrito anteriormente puesto que seguramente va a seguir dando problemas de un u otra forma. Pero busca información sobre lo siguente:
  • swing multithreading
  • thread stop resume suspend
  • java atomic synchronization
  • java concurrency collection

Saludos,