Как известно, все, что связано с компонентами Swing, должно выполняться на потоке отправки событий. Это также относится к за компонентами, например TableModel. Достаточно легко в элементарных случаях, но все становится довольно сложным, если модель представляет собой "живой вид" чего-то, что должно работать на отдельном потоке, потому что оно быстро меняется. Например, живой взгляд на фондовый рынок на JTable. Фондовые рынки обычно не бывают на EDT.
Итак, каков предпочтительный шаблон для (de) пары модели Swing, которая должна быть на EDT, и "реальной", потокобезопасной модели, которая должна быть обновляемой из любого места и в любое время? Одним из возможных решений было бы на самом деле разделить модель на две отдельные копии: "настоящая" модель плюс своя копия Swing, которая представляет собой снимок "реальной" модели. Затем они (двунаправленно) синхронизируются по EDT время от времени. Но это похоже на раздувание. Действительно ли это единственный жизнеспособный подход, или существуют ли какие-либо другие, более стандартные способы? Полезные библиотеки? Что-нибудь?