¿Por qué el modelo de roscado Swing se considera incorrecto y cómo debería serlo? [cerrado]

He oído muchas veces que el modelo de subprocesos de Java Swing es incorrecto. No entiendo completamente por qué, sé que el problema está relacionado con el hecho de que puede dibujar en unDrawable de otro hilo que no sea el hilo principal de la interfaz de usuario. Sé que hay funcionalidades de utilidad comoSwingUtilities.invokeAndWait ySwingUtilities.invokeLater que te permiten hacer tu pintura en unaRunnable, que a su vez es ejecutado por el subproceso Event Dispatcher. Supongo que de esta manera se asegura de que la pintura se realice de forma sincrónica y esto no deje al búfer en un estado incosistente.

Mi pregunta es: ¿cómo se comportan los kits de herramientas de interfaz de usuario "buenos"? ¿Qué soluciones se adoptan?

Respuestas a la pregunta(4)

Su respuesta a la pregunta