Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Беготня по дереву |
Автор: Demetrio 21.5.2008, 13:08 | ||||
Есть стандартый GUI(swt) интерфейс - слева дерево, справа отображение листьев дерева... Каждый элемент дерева имеет свой метод отображения... все хорошо бы, но как быть с распараллеливанием процессов.. Если быстро бегать по элементам дерева, то начинают запускаться процессы отображения, а они бывают долгие....то есть процесс получения данных-отрисовки не закончился, а пошел отображаться другой - нововыбранный....Принудительно ждать окончания процесса не хочется.... exception вываливает, когда я removeChildWidgets(right), что правильно... Как мне правильно прервать метод, который где-то вызывает новый поток.... немного криво описал, но как смог... метод при смене элемента....
метод получения данных для отображения...
|
Автор: w1nd 21.5.2008, 23:44 |
Прервать насильственно - никак. В процессе отображения следует проверять IProgressMonitor.isCancelled(), а все запросы к дереву (в том числе удаление и добавление) ставить в ту же очередь, что и вытаскивание данных для отображения. |
Автор: Demetrio 22.5.2008, 09:52 |
Да, собстно я расстался с мыслью о асинхронности.... |